0

古いulrから新しいURLへのリダイレクト301を作成したいと思います。

古いURL:/php/zend-framework/captcha-codigo-anti-spam-zend-framework

新しいURL: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」というエラーが発生しました。

私は何が間違っているのですか?

4

2 に答える 2

2

両方の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. ディレクティブはURIと一致し、次のRedirectMatch場所にリダイレクトします。

    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が含まれているため、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

^$

于 2012-08-18T04:39:41.430 に答える
0
RewriteRule ^bad_url$ good_url [R=301,L] 

どうも !私のために働く

于 2016-07-11T13:07:54.960 に答える