2013-02-11 100 views
-1

我想一些舊的動態鏈接轉發給新的目標mod_rewrite的老域規則,以新的域

舊的鏈接中使用

http://www.olddomain.com/index.php?cms=blog&action=.. 

不得不重寫規則所以我會轉發cms=blog到一個新的域http://www.newdomain.com/blog

+0

你知道BIG問題是什麼先生-1。並非所有事情都很容易向Google解釋。而你能解釋的人不會聽你的!謝謝你-1 – user2036282 2013-02-11 17:26:44

+0

This:'RewriteRule ^/docs /(.+)http://new.example.com/docs/$1 [R,L]'不起作用。它應該是這樣的:'RewriteRule^docs /(.+)http://new.example.com/docs/$1 [R,L]'。但是不清楚你想要什麼,如果你想讓別人完全理解你需要什麼,花點時間在你的問題中包含一些完整的URL例子。規則是不夠的,特別是當它們是問題的原因時。 – 2013-02-11 17:56:08

+0

嘿faa,再次感謝您的回覆..我正在編輯我的問題以更好地解釋。我正在嘗試這種方式,但沒有解決它。 'RedirectMatch^/?cms = blog(。*)http://www.newdomain.com/blog/ [R = 301,L]' – user2036282 2013-02-11 17:59:34

回答

1

要匹配querystrings,你可以使用RewriteCond指令。您需要放置在www.olddomain.com/.htaccess中的完整規則爲:

RewriteEngine on 
RewriteCond %{QUERY_STRING} (^|&)cms=blog(&|$) 
RewriteRule ^index\.php$ http://www.newdomain.com/blog? [R=302,L] 

如果需要,將302更改爲301。

+0

嘿薩爾曼謝謝。前鋒正在工作,但URL現在看起來像這樣'http://www.newdomain.com/blog/?p = shop&action = ...'它應該只轉發到'http://www.newdomain.com/blog '沒有采取以前的條件。 – user2036282 2013-02-11 18:11:35

+0

我編輯了我的答案。請注意URL末尾的'?',它是必需的。 – 2013-02-11 18:14:25

+0

你是當天的國王;) – user2036282 2013-02-11 18:46:14