htaccess的現代重寫URL始終重定向到新的URL在Apache
我有這個網址:
mydomain.com/old.html
我希望它被改寫爲:
mydomain.com/new.html
但我也想mydomain.com/old.html總是重定向到mydomain.com/new.html。
我試過如下:
RewriteRule ^/new.html /old.html [R=301,L,PT]
但它不工作。
htaccess的現代重寫URL始終重定向到新的URL在Apache
我有這個網址:
mydomain.com/old.html
我希望它被改寫爲:
mydomain.com/new.html
但我也想mydomain.com/old.html總是重定向到mydomain.com/new.html。
我試過如下:
RewriteRule ^/new.html /old.html [R=301,L,PT]
但它不工作。
刪除前導斜槓(或使其可選),因爲它是從URI在一個htaccess文件應用規則時剝離:
RewriteRule ^/?new.html /old.html [R=301,L,PT]
這將需要與其他重寫規則一起工作,讓一切一個模塊(mod_rewrite的)內發生的,但如果你不需要mod_rewrite的,你可以依靠,而不是mod_alias中(除去mod_rewrite的重定向):
Redirect 301 /old.html http://www.yoursite.com/new.html
但是,這將重定向東西,如:/old.html/blahblah
到http://www.yoursite.com/new.html/blahblah
如果你不想這樣,使用:
RedirectMatch 301 ^/old.html$ http://www.yoursite.com/new.html
Redirect 301 /old.html http://www.yoursite.com/new.html
應該工作。
但是,這並不與重寫工作:網頁沒有正確重定向 –
您能得到什麼?白頁?重定向循環? 404? – 2012-09-08 12:59:38