我有一個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>
但我認為這會影響後端路徑,所以我需要一個更好的解決方案。
謝謝。
Laravel必須指向
<project_root>/public
,這是你的問題...更新與Laravel相關的設定為
DocumentRoot: "C:/Apache24/htdocs/laravel_project_name/public"
。我知道你正在使用Apache,但看看如何將
Nginx
設定指向那個資料夾。