【问题标题】:Too many redirects in redirect 301重定向 301 中的重定向过多
【发布时间】:2012-08-17 15:11:43
【问题描述】:

我想从旧的 ulr 重定向 301 到新的 url。

旧网址:/php/zend-framework/captcha-codigo-anti-spam-zend-framework

新网址:http://www.demo31.com/blog/php/zend-framework/captcha-codigo-anti-spam-zend-framework

在 .htaccess 中,我像这样进行重定向...

RedirectMatch 301 /php/zend-framework/captcha-codigo-anti-spam-zend-framework   http://www.demo31.com/blog/php/zend-framework/captcha-codigo-anti-spam-zend-framework

但我收到错误“ERR_TOO_MANY_REDIRECTS”。

我做错了什么?

【问题讨论】:

    标签: apache redirect


    【解决方案1】:

    看起来两个 URI 都在同一个主机上 (www.demo31.com),所以当您使用 RedirectMatch 时,匹配的 URI 部分是重定向的一部分。示例

    如果我去:

    http://www.demo31.com/php/zend-framework/captcha-codigo-anti-spam-zend-framework
    
    1. URI 是/php/zend-framework/captcha-codigo-anti-spam-zend-framework
    2. RedirectMatch 指令匹配 URI,重定向到:

      http://www.demo31.com/blog/php/zend-framework/captcha-codigo-anti-spam-zend-framework
      
    3. 新的URI是/blog/php/zend-framework/captcha-codigo-anti-spam-zend-framework
    4. 然而,RedirectMatch 指令与 URI再次匹配,因为它包含 /php/zend-framework/captcha-codigo-anti-spam-zend-framework

    尝试将 RedirectMatch 更改为 Redirect。或者,如果您只想重定向该特定 URI(与 /php/zend-framework/captcha-codigo-anti-spam-zend-framework/some/other/stuff 之类的东西相反,也被重定向,请添加一些分隔符:

    RedirectMatch 301 ^/php/zend-framework/captcha-codigo-anti-spam-zend-framework$   http://www.demo31.com/blog/php/zend-framework/captcha-codigo-anti-spam-zend-framework
    

    ^$

    【讨论】:

    • 感谢您的回答,但在两种情况下,我得到了相同的结果:两次重定向 :(((
    • 嗨!!!一切正常!!!我从另一个目录更改 .htaccess 文件时犯了一个错误!!!如果我像您评论的那样进行更改,一切都很好!!!
    【解决方案2】:
    RewriteRule ^bad_url$ good_url [R=301,L] 
    

    谢谢!为我工作

    【讨论】:

      猜你喜欢
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-07
      • 2018-03-06
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      相关资源
      最近更新 更多