2012-02-07 22 views
0

我想要把所有對我網站的引用重定向到blah.mysite.com使用多個通配符異常來製作.htaccess?

我需要這些特定的子目錄是直接訪問,無需重定向:
mysite.com/foomysite.com/barwww.mysite.com/foo,並www.mysite.com/bar

這裏是我到目前爲止有:

Options +FollowSymlinks 
RewriteEngine on 
#Redirect all non-foobar sites to blah 
rewritecond %{http_host} . 
rewritecond %{http_host} !^(www|.)mysite\.com//foo// 
rewritecond %{http_host} !^(www|.)mysite\.com//bar// 
rewriterule (.*)$ http://blah.mysite.com/ [R=301,L] 

顯然,我做錯了什麼。你能對我如何解決這個問題有任何見解嗎?我一直在搜索整個上午。

回答

0

試試這個:

RewriteCond %{HTTP_HOST} !blah.mysite.com [NC] 
Rewritecond %{REQUEST_URI} !^/(foo|bar)/?$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^http://blah.mysite.com/ [R=301,L] 
+0

真棒,非常感謝你!我還需要做些什麼來從通配符中排除'foo'目錄中的項目? – 2012-02-07 20:06:32

+0

@DanCarew提供了另一個類似規則的'.htaccess'。在'foo'目錄中。 – ThinkingMonkey 2012-02-07 20:16:43

+0

對不起,我認爲這不會起作用。目前,'mysite.com/foo/image.jpg'會重定向到'http:// blah.mysite.com /'。我如何防止這種情況? – 2012-02-07 20:32:48