2013-02-13 74 views
1

我限制了.htaccess知識並需要一些幫助。除了www.olddomain/page.json外,我需要將所有頁面請求重定向到www.newdomain.com,但查詢字符串在重定向時會被刪除。我如何保存它?非常感謝你!mod_rewrite:查詢字符串在重寫時丟失

當前代碼:

RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/page.json 
RewriteRule (.*) http://newdomain.com/$1 [R=301,L] 

編輯:只是要清楚,我只需要保持對舊域page.json,可以說爲www.olddomain.com/page1.json用戶請求?session = gVgr30ExUlM 我需要重定向到 www.newdomain.com/page1.json?session=gVgr30ExUlM 但是當它是www.olddomain.com/page.json?=LKJHGF我需要它留在那個舊的域名並不會重定向是可能的?

+0

「plz幫助急需」不是一個好標題開始用。 – 2013-02-13 13:08:49

回答

2

使用[QSA]標誌(「查詢字符串附加」)

+0

你沒有提到你在說'POST'。這不是查詢字符串,而是在*重定向*('[R = 301]')上丟失的請求主體。您還會注意到重定向後對newdomain.com的請求是一個GET請求。您不能將發佈的請求作爲發佈請求重定向到其他服務器。 – 2013-02-13 13:43:24

+0

我的不好,所以我應該怎麼去做 – 2013-02-13 13:44:26

+0

問問自己:你真的不必擔心有人發送POST請求到舊的URL嗎?所有表單都將指向新的URL,對嗎? – 2013-02-13 13:46:58

0

您需要添加[QSA]和可選[NE]這應該給你:

RewriteRule (.*) http://newdomain.com/$1 [QSA,NE,R=301,L]