ERR_TOO_MANY_REDIRECTS错误的解决方案

时间:2014-06-29 06:28:02

标签: php regex .htaccess mod-rewrite redirect

我已经彻底搜索了stackoverflow,但无法找到我收到的此错误的任何解决方案。

信息:

  1. 我仅在.htaccess中使用重定向,并且我的网页中没有有效的html重定向。
  2. 我正在使用.htaccessdefault.php重定向到rootnon-www重定向到wwwerror page 404.phpcache control& gzip个文件。 (我的htaccess内容如下)。
  3. 错误:

    1. 我输入了错误的网址来测试404 redirect并收到了显示ERR_TOO_MANY_REDIRECTS。我尝试清除浏览器缓存,还研究了stackoverflow来调试我的htaccess代码,但到目前为止还没有解决方案。
    2. 需要帮助:

      1. 我会请求stackoverflow成员帮我解决这个错误,以供参考我在下面发布我的htaccess代码。
      2. htaccess的:

        <Ifmodule mod_rewrite.c>
        Options +FollowSymlinks
        RewriteEngine on
        RewriteBase /
        
        ### re-direct default.php to root / ###
        RewriteCond %{THE_REQUEST} ^.*\/default\.php\ HTTP/
        RewriteRule ^(.*)default\.php$ /$1 [R=301,L]
        
        ### re-direct non-www to www of main domain
        RewriteCond %{http_host} ^bookkeralatourpackage\.in$ [nc]
        RewriteRule ^(.*)$ http://www.bookkeralatourpackage.in/$1 [r=301,nc,L]
        
        #### Rule for Error Page - 404 ####
        ErrorDocument 404 http://bookkeralatourpackage.in/404.php
        </Ifmodule>
        
        <ifModule mod_headers.c>
        Header set Connection keep-alive
        ExpiresActive On
        
        # Expires after 1 month
        <filesMatch ".(gif|png|jpg|jpeg|ico|pdf|js|htm|html|txt)$">
        Header set Cache-Control "max-age=2592000"
        </filesMatch>
        
        # Expires after 1 day
        <filesMatch ".(css)$">
        Header set Cache-Control "max-age=86400"
        </filesMatch>
        </ifModule>
        
        <ifModule mod_gzip.c>
        mod_gzip_on Yes
        mod_gzip_dechunk Yes
        mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
        mod_gzip_item_include handler ^cgi-script$
        mod_gzip_item_include mime ^text/.*
        mod_gzip_item_include mime ^application/x-javascript.*
        mod_gzip_item_exclude mime ^image/.*
        mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
        </ifModule>
        

        让我知道我哪里出错了,以及是否需要任何其他细节来解决此错误。

1 个答案:

答案 0 :(得分:3)

  • 最明显的问题是错误文档没有www。这意味着在重定向到http://bookkeralatourpackage.in/404.php后,必须应用www重定向。将其更改为:

    ErrorDocument 404 http://www.bookkeralatourpackage.in/404.php
    
  • 下一个可能的问题是,如果404.php文件不存在:您将进入一系列重定向。因此,请检查http://www.bookkeralatourpackage.in/404.php是否存在。

  • 我不完全确定需要RewriteCond %{THE_REQUEST} ^.*\/default\.php\ HTTP/行。如果没有它,规则可能会有效。

如果有任何效果,请告诉我们。