我在apache上部署了一个laravel/inerity/vue项目,位于/var/www/html的子目录中--我们称之为“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是原始的,添加了以下行:RewriteBase /myapp/
在myapp中一切正常,除了显示一个项目
http://localhost/myapp/myapp/users/3并按刷新浏览器上,我得到404找不到,因为工作实际上是http://localhost/myapp/users/3没有重复的myapp。
有没有一种方法可以设置部署,使其不重复myapp,当我键入http://localhost/myapp时,它实际上是http://localhost/myapp,
我已经尝试了几个建议,通过谷歌搜索的问题陈述,但我没有能够找到一个解决方案
1条答案
按热度按时间klr1opcd1#
看起来配置需要一个小的调整来解决这个问题。
要解决重复子目录问题,请执行以下步骤:
1.更新公共目录中的.htaccess:在Laravel应用程序的public目录(myapp/public)中,确保**.htaccess**文件包含以下行:
这一步已经在你的描述中提到过了,但是要确保它被正确地实现了。
1.清除配置缓存:
完成这些更改后,使用以下命令清除Laravel配置缓存:
1.重新启动Apache:
重新启动Apache以将更改应用到虚拟主机配置:
参考:https://lucabecchetti.medium.com/configure-laravel-to-work-in-a-subdirectory-and-with-artisan-serve-at-the-same-time-654ba0c1fd0b