2014-10-04 97 views
2

我在我的htaccess中使用以下腳本來重定向ROOT和ROOT ONLY,這很好。只重定向根目錄和根目錄但是沒有根目錄的額外參數/?param = foo

RewriteEngine on 
RewriteCond %{HTTP_HOST} mydomain\.com [NC] 
RewriteCond %{REQUEST_URI} ^/$ 
Rewriterule ^(.*)$ http://shop.mydomain.com/ [L,R=301] 

,但我碰到的在我的博客,這是仍在運行mydomain.com,仍然需要用額外的參數來訪問根的搜索結果等

問題是有辦法仍然顯示這些網頁?

例如mydomain.com重定向但mydomain.com/?s=foo不重定向。

乾杯

回答

1

您可以添加一個條件,以確保此重定向只能在查詢字符串不存在:

RewriteEngine on 
RewriteCond %{HTTP_HOST} mydomain\.com [NC] 
RewriteCond %{QUERY_STRING} ^$ 
Rewriterule ^/?$ http://shop.mydomain.com/ [L,R=301] 
+0

真棒,這是工作!我注意到你省略了「RewriteCond%{REQUEST_URI} ^/$」這行......沒有必要? – 2014-10-04 09:51:52

+0

是的,因爲RewriteRule現在正在做同樣的事情,所以沒必要這樣做。 – anubhava 2014-10-04 10:21:41