我在 apache 上的 /var/www/html 子目录中部署了一个 laravel/inertia/vue 项目 - 我们称之为“myapp”。
在浏览器上:http://localhost/myapp 显示为 http://localhost/myapp/myapp,重复 myapp。 000-default.conf 上的虚拟主机设置如下: ...原始设置
#Settings for myapp
Alias /myapp /var/www/html/myapp/public
<Directory /var/www/html/myapp>
AllowOverride All
Options -Indexes
</Directory>
myapp/public 上的 .htaccess 是原始文件,添加了以下行: 重写库 /myapp/
我的应用程序中一切正常,除了显示项目时
http://localhost/myapp/myapp/users/3 并在浏览器上按刷新,我得到 404 not find 因为工作实际上是 http://localhost/myapp/users/3 没有重复的 myapp。
有没有办法设置部署,这样它就不会重复 myapp 以及当我键入时 http://localhost/myapp 它实际上是 http://localhost/myapp,
我通过谷歌搜索所述问题尝试了一些建议,但我无法找到解决方案
似乎需要对配置进行一些小调整才能解决此问题。
要解决重复子目录问题,请按照以下步骤操作:
#Settings for myapp
Alias /myapp /var/www/html/myapp/public
<Directory /var/www/html/myapp/public>
AllowOverride All
Options -Indexes
RewriteEngine On # Add this line
RewriteBase /myapp/ # Add this line
</Directory>
RewriteBase /myapp/
您的描述中已经提到了此步骤,但只需确保其正确实施即可。
进行这些更改后,使用以下命令清除 Laravel 配置缓存:
php artisan config:clear
重新启动 Apache 以将更改应用到虚拟主机配置:
sudo service apache2 restart
如需更多参考,您可以查看有关部署到子目录的 Laravel 官方文档: