部署在Apache子目录上的Laravel惯性vue重复子目录名称

nkkqxpd9  于 2023-10-23  发布在  Apache
关注(0)|答案(1)|浏览(174)

我在apache上部署了一个laravel/inerity/vue项目,位于/var/www/html的子目录中--我们称之为“myapp”。
在浏览器上:http://localhost/myapp显示为http://localhost/myapp/myapp,重复myapp。000-default.conf上的虚拟主机设置如下:...原始设置

  1. #Settings for myapp
  2. Alias /myapp /var/www/html/myapp/public
  3. <Directory /var/www/html/myapp>
  4. AllowOverride All
  5. Options -Indexes
  6. </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,
我已经尝试了几个建议,通过谷歌搜索的问题陈述,但我没有能够找到一个解决方案

klr1opcd

klr1opcd1#

看起来配置需要一个小的调整来解决这个问题。
要解决重复子目录问题,请执行以下步骤:
1.更新公共目录中的.htaccess:在Laravel应用程序的public目录(myapp/public)中,确保**.htaccess**文件包含以下行:

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteRule ^(.*)$ public/$1 [L]
  4. </IfModule>

这一步已经在你的描述中提到过了,但是要确保它被正确地实现了。
1.清除配置缓存:
完成这些更改后,使用以下命令清除Laravel配置缓存:

  1. php artisan config:clear

1.重新启动Apache:
重新启动Apache以将更改应用到虚拟主机配置:

  1. sudo service apache2 restart

参考:https://lucabecchetti.medium.com/configure-laravel-to-work-in-a-subdirectory-and-with-artisan-serve-at-the-same-time-654ba0c1fd0b

展开查看全部

相关问题