2012-09-08 78 views
0

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] 

但它不工作。

回答

0

刪除前導斜槓(或使其可選),因爲它是從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/blahblahhttp://www.yoursite.com/new.html/blahblah如果你不想這樣,使用:

RedirectMatch 301 ^/old.html$ http://www.yoursite.com/new.html 
0
Redirect 301 /old.html http://www.yoursite.com/new.html 

應該工作。

+0

但是,這並不與重寫工作:網頁沒有正確重定向 –

+0

您能得到什麼?白頁?重定向循環? 404? – 2012-09-08 12:59:38