2015-11-09 34 views
1

我已經看了四周,但一切似乎是我想要的相反。我想要做的只是重定向目錄,排除目錄URL後的所有內容。所以我有這個這是工作RedirectMatch 301 - 只有目錄排除文件,子目錄,查詢字符串

RedirectMatch 301 /blog/ http://www.mynewblog.com/ 

,但我需要它排除(不定向)目錄或文件和子目錄後追加一個查詢字符串。所以,我要訪問這些網址,仍然

http://www.myoldblog.com/blog/?wpdmact=process 
http://www.myoldblog.com/blog/page/2 
http://www.myoldblog.com/blog/page.php 

但是,一切都/blog/後還是會被重定向。那麼有沒有辦法在htaccess文件中排除這個。非常抱歉,如果有人發佈了答案,我找不到。

回答

1

嘗試:

RewriteEngine On 

RewriteCond %{QUERY_STRING} !^wpdmact=process 
RewriteCond $1 !^page/2 
RewriteCond $1 !^page.php 
RewriteRule ^blog/(.*)$ http://www.mynewblog.com/ [L,R=301] 

你需要,如果你要匹配的查詢字符串來使用mod_rewrite代替mod_alias中的,但是這將重定向一切與/blog/開始* except8如果查詢字符串是wpdmact=process或如果以下路徑是page/2page.php

0

嘗試以下操作:

RewriteEngine On 

RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^blog/?$ http://www.mynewblog.com/ [R,L] 

請注意,上述規則的工作,你需要啓用mod_rewrite。雖然RedirectMatch指令隨mod_alias模塊一起提供,但重寫通過單獨的模塊完成。