我有一个Vue.js项目和一个Laravel项目在Apache中。
我把Vue.js放在C:/Apache24/htdocs/vue_project_name,把Laravel放在C:/Apache24/htdocs/laravel_project_name,所以我可以得到以下配置:
虚拟主机文档根目录:"C:/Apache24/htdocs/"。 前端URL:"http://domain_name/vue_project_name" 后端URL:"http://domain_name/laravel_project_name" 后端API URL:"http://domain_name/laravel_project_name/public/api"
我想在输入http://domain_name时重写URL,浏览器将直接跳转到http://domain_name/laravel_project_name。当我输入http://domain_name/api时,浏览器将直接跳转到http://domain_name/laravel_project_name/public/api。
例如,我有一个API,我可以调用http://domain_name/laravel_project_name/public/api/login来获取资源,但我希望简化为http://domain_name/api/login来获取资源。
如何实现这个功能?
这是我的httpd-vhosts.conf文件:
<VirtualHost *:80>
DocumentRoot "C:\Apache24\htdocs"
ServerName domain_name
ErrorLog "C:\Apache24\logs\error.log"
CustomLog "C:\Apache24\logs\access.log" combined
<Directory "C:\Apache24\htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
我知道当我输入http://domain_name时,Apache会直接跳转到http://domain_name/laravel_project_name,像这样:
<VirtualHost *:80>
DocumentRoot "C:\Apache24\htdocs\vue_project_name"
ServerName domain_name
ErrorLog "C:\Apache24\logs\error.log"
CustomLog "C:\Apache24\logs\access.log" combined
<Directory "C:\Apache24\htdocs\vue_project_name">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
但我认为这会影响后端路径,所以我需要一个更好的解决方案。
谢谢。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
Laravel必须指向
<project_root>/public,这是你的问题...更新与Laravel相关的配置为
DocumentRoot: "C:/Apache24/htdocs/laravel_project_name/public"。我知道你正在使用Apache,但是看看如何将
Nginx配置指向那个文件夹。