如何避免.htaccess中出现“过多的重定向”错误?

时间:2018-01-11 06:09:27

标签: .htaccess

我的.htaccess文件中有以下代码。

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

    RewriteEngine On

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

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

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

我想将域名从http重定向到https。但是,当我尝试这样做时,我收到错误“太多重定向”错误。

1 个答案:

答案 0 :(得分:0)

我们建议在主配置文件中的http vhost中放置一个简单的Redirect语句,而不是使用.htaccess文件。 httpd常见问题解答中有更详细的介绍,这有很多原因。

Redirect / https://example.com/

我们还建议使用FallbackResource作为前端控制器的东西

FallbackResource /index.php