【问题标题】:laravel php 5.4 running on apache serverlaravel php 5.4 在 apache 服务器上运行
【发布时间】:2014-08-09 11:23:25
【问题描述】:

当我浏览到我的 laravel 项目的根目录时,我得到一个 403。当我进入 root/public 时,我确实收到了来自框架的你已经到达的消息。但这不是应该正确的吗?我如何制作我的项目,以便当我进入根目录时我实际上进入 /public?

我尝试了以下方法:

这就是我的 htaccess 文件在根目录中的样子:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

【问题讨论】:

    标签: php laravel http-status-code-403


    【解决方案1】:

    您需要在 Apache 配置中正确设置 DocumentRoot。这与.htaccess 是分开的,它应该指向public 目录。

    【讨论】:

      【解决方案2】:

      如果不能配置apache目录,生产环境放2个.htaccess文件。

      1.在root文件夹中:

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

      2.在/public文件夹中:

      <IfModule mod_rewrite.c>
          Options -MultiViews
          RewriteEngine On
      
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteRule ^ index.php [L]
      </IfModule>
      

      【讨论】:

      • 你的第一个文件是 Laravel 5.1 中唯一对我有用的东西。我不需要更改第二个文件。谢谢,伙计!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-11
      • 2015-05-26
      • 2017-09-22
      • 1970-01-01
      • 2017-08-23
      • 2013-10-29
      • 2019-05-12
      相关资源
      最近更新 更多