2014-08-27 47 views
2

我想將所有非www重定向到www。除了請求指向/ cgi-bin/mail-dada/.htaccess重定向非www到www,除了一個目錄不工作

我想不出爲什麼下面的代碼也會將http://something.com/cgi-bin/mail-dada/mail.cgi/admin/重定向到www-prepended版本。

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !^www\.something\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/cgi-bin/mail-dada/ [NC] 
RewriteRule (.*) http://www.something.com/$1 [R=301,L] 
+1

你有其他的規則呢?也許更舊的規則在緩存(嘗試與另一個瀏覽器或清除緩存) – 2014-08-27 12:11:24

+1

是的,其實我只是意識到自己,這是愚蠢的瀏覽器重定向緩存。規則起作用。你可以添加它作爲答案,我會接受它! – Andrew 2014-08-27 12:14:14

回答

2

你的問題的規則應該工作。

我懷疑緩存問題(也許是舊規則?)。
嘗試使用其他瀏覽器或清除緩存並重試。

另外,如果你不想硬編碼的域名,你可以這樣做的(如果你只有wwwnon-www子域)

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{REQUEST_URI} !^/cgi-bin/mail-dada/ [NC] 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 
+1

是的,這是一個緩存問題,在另一個瀏覽器中工作,謝謝。 – Andrew 2014-08-27 12:21:55