【问题标题】:how to remove the /public folder from laravel 9?如何从 laravel 9 中删除 /public 文件夹?
【发布时间】:2023-01-03 16:52:34
【问题描述】:

我在 Windows (MAMP) 上本地运行 laravel 9,我想打开主页:

本地主机/我的项目

代替

本地主机/我的项目/公共

我试图添加.htaccess使用以下内容到根文件夹:

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

它没有用! (我得到了 404), (虽然这适用于 laravel 8!)

那么解决这个问题的方法是什么!?我花了几个小时搜索博客和调整无济于事! 我还阅读了一些讨论,即使用 .htaccess 或替换 server.php 并重命名它对于生产来说并不完全安全。

那么解决方案是什么?如果我在线托管我的网站(例如共享托管),该解决方案是否也有效?

谢谢

【问题讨论】:

  • @pyrogrammer 不幸的是没有......

标签: php laravel .htaccess public


【解决方案1】:

我已经使用以下 .htaccess 文件将几个网站部署到托管和 vps 服务器:

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

如果仍然出现错误,您可以联系您的托管服务提供商并要求他们为您提供有效的.htaccess规则。您也可以将公用文件夹中的文件移动到根文件夹。

【讨论】:

  • 我正在使用 MAMP,我在同一台机器上尝试了与 laravel 8 项目相同的代码并且它工作..与 laravel 9 它不工作.. 给出 404 错误.. 我还需要检查什么其他事情.. .. public文件夹里面的htaccess文件有什么关系吗?
  • 绝对没有。你看到的404页面是laravel 404模板还是服务器生成的?
  • 这是一个 Laravel 模板(404 未找到)..我用像(test.local)这样的虚拟主机解决了它,我将它设置为指向公用文件夹..但我仍然对 .htaccess 无法正常工作感到恼火! .... :(
  • 如果它是 laravel 404 页面,那么你的 .htaccess 工作正常。您在应用程序中遇到问题。最有可能在routes。如果您确定一切正常,请尝试使用php artisan optimize 清除缓存。
  • 它仍然是同样的问题,即使运行(php artisan optimize)也会给我一个错误(这条路线不支持GET方法。支持的方法:HEAD。)当我打开公共页面>解决了(php artisan route:清楚).. 奇怪的是,该项目在没有(npm run dev 或 build)的情况下工作。我很沮丧...... :'( ..我什至没有在 laracasts 上找到解决方案!
【解决方案2】:

要从 laravel 9 中删除 public 文件夹,您需要自定义 .htaccess 文件。 您必须在 Apache 服务器上启用 mod_rewrite。需要重写模块来应用这些设置。您还在 Apache 虚拟主机中为 Laravel 启用了 .htaccess。

将代码更新到您的 .htaccess 文件中:

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

【讨论】:

  • 嗨,mod_rewrite 已启用,顺便说一句,我正在使用“MAMP”.. 相同的代码在相同的环境中适用于 laravel 8!
【解决方案3】:

在根目录中创建一个 .htaccess

把这两行放在里面 RewriteCond %{REQUEST_URI} !^/public($|/) 重写规则 ^(.*)$ public/$1 [L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 2019-04-02
    • 2016-07-30
    相关资源
    最近更新 更多