我想将所有非www重定向到www。指向/ cgi-bin / mail-dada /
内的请求除外我无法想到为什么下面的代码也会将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]
答案 0 :(得分:2)
你问题中的规则应该有效。
我怀疑存在缓存问题(可能是旧规则?) 尝试使用其他浏览器或清除缓存,然后重试。
此外,如果您不想对您的域名进行硬编码,则可以这样做(如果您只有www
或non-www
个子域名)
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{REQUEST_URI} !^/cgi-bin/mail-dada/ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]