2013-12-11 34 views
1

我想將/bar/中的所有內容重定向到一個新的子域,但仍然從原始URL傳入任何查詢參數。 E.g301使用查詢參數重定向目錄

原始地址例子:

  1. http://www.foo.com/bar/
  2. http://www.foo.com/bar/index.php
  3. http://www.foo.com/bar/index.html
  4. http://www.foo.com/bar/test.php?id=123&utm_source=google

應該重定向到:

  1. http://bar.foo.com/
  2. http://bar.foo.com/
  3. http://bar.foo.com/
  4. http://bar.foo.com/?id=123&utm_source=google

這是我目前有:

RewriteEngine On 
RewriteRule ^bar/?(.*)$ https://bar.foo.com/? [R=301,L] 

然而,這並不在我需要的查詢參數傳遞上面的第四個例子。我知道?阻止傳遞查詢參數,所以這很可能需要刪除我假設但不知道要替換它與什麼?

乾杯

回答

1

添加新的規則是這樣的:

RewriteEngine On 

RewriteRule ^bar(/|$) https://bar.foo.com/ [NC,R=301,L] 

QUERY_STRING將自動結轉到目標URI。

請確保在目標URI中沒有尾隨?,它剝離了現有的查詢字符串。

+0

謝謝我現在試試。對不起,我並不想要包含實際的域名,請問您可以編輯您的答案嗎? – user1961082

+0

確定相應編輯。檢查更新的答案。 – anubhava

+0

謝謝。 ''http:// www.foo.com/bar/index.php''通過/index.php,因此它重定向到http://bar.foo.com/index.php。我只需要傳入查詢參數。 – user1961082