Saya mempunyai projek Vue.js dan projek Laravel dalam Apache.
Saya meletakkan Vue.js dalam C:/Apache24/htdocs/vue_project_name
,把Laravel放在C:/Apache24/htdocs/laravel_project_name
supaya saya boleh mendapatkan konfigurasi berikut:
虚拟主机文档根目录:"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"
Saya nak taip http://domain_name
时重写URL,浏览器将直接跳转到http://domain_name/laravel_project_name
。当我输入http://domain_name/api
时,浏览器将直接跳转到http://domain_name/laravel_project_name/public/api
.
Sebagai contoh, saya mempunyai API yang boleh saya panggil http://domain_name/laravel_project_name/public/api/login
来获取资源,但我希望简化为http://domain_name/api/login
untuk mendapatkan sumber.
Bagaimana untuk melaksanakan fungsi ini?
Ini ialah fail httpd-vhosts.conf saya:
<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>
Saya tahu apabila saya menaip http://domain_name
时,Apache会直接跳转到http://domain_name/laravel_project_name
, seperti ini:
<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>
Tetapi saya rasa ini akan menjejaskan laluan belakang, jadi saya perlukan penyelesaian yang lebih baik.
Terima kasih.
Laravel mesti tunjuk
<project_root>/public
, itu masalah awak...Mengemas kini konfigurasi berkaitan Laravel kepada
DocumentRoot: "C:/Apache24/htdocs/laravel_project_name/public"
.Saya tahu anda menggunakan Apache, tetapi lihat cara untuk menghalakan
Nginx
konfigurasi ke folder itu.