.htaccess 如何从laravel 9中删除/public文件夹?

62o28rlo  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(160)

我有laravel 9在Windows(MAMP)上本地运行,我想打开主页:
本地主机/我的项目
代替
本地主机/我的项目/公共
我尝试使用以下代码将**.htaccess**添加到根文件夹:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^/public
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

但它没有工作!(我得到了404),(虽然这与laravel 8工作!)
那么解决这个问题的办法是什么呢!?我花了几个小时搜索博客和调整都无济于事!我还在一些讨论中读到,使用.htaccess或替换serveriderphp并重命名它对生产来说并不完全安全。
那么解决方案是什么,如果我把我的网站放在网上(例如共享主机),这个解决方案也能工作吗?
谢谢

wmvff8tz

wmvff8tz1#

我已经部署了几个网站托管和vps服务器与以下.htaccess文件:

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

如果错误仍然存在,您可以与宿主提供商联系,要求他们给予有效.htaccess规则您也可以将公用文件夹中文件移动到根文件夹中

1yjd4xko

1yjd4xko2#

要从Laravel 9中删除公用文件夹,需要自定义.htaccess文件。必须在Apache服务器上启用mod_rewrite。要应用这些设置,需要使用rewrite模块。您还在Laravel的Apache虚拟主机中启用了.htaccess。
将代码更新到.htaccess文件中:

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

相关问题