请求超过了10个内部重定向laravel 5.5的限制

时间:2017-10-06 08:23:49

标签: php laravel .htaccess redirect

上传新的laravel 5.5项目时遇到问题。当我改变服务器上的public_html文件夹中的htaccess时,它会保持重定向。然而,在laravel 5.0上没有这个问题。这是我在public_html文件夹中的htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On

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

这是公共文件夹中的htaccess:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

   # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

有关如何解决此问题的任何建议?

1 个答案:

答案 0 :(得分:0)

除了在您的文档根目录中放置Laravel项目真的不是一个好主意之外,您的根目录中的htaccess文件存在问题。 另外,我至少会保护根文件夹中的所有文件不被直接访问:

<IfModule mod_rewrite.c>
    RewriteEngine On

    # Fake 404 for all files in /
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^/?[^/]+$ - [R=404,L]

    # Protect rewrite loop: exclude /public
    RewriteCond %{REQUEST_URI} !^/?public(/.*)?$
    RewriteRule ^(.*)$ /public/$1 [L]
</IfModule>