Apache .htaccess将非www重定向到www,但有一个目录不工作

Apache .htaccess将非www重定向到www,但有一个目录不工作,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,我想将所有非www重定向到www。除了指向/cgi-bin/mail-dada内部的请求/ 我想不出为什么下面的代码也会重定向到www预设版本 RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www\.something\.com$ [NC] RewriteCond %{REQUEST_URI} !^/cgi-bin/mail-dada/ [NC] RewriteRule (.*) http://www.something.co

我想将所有非www重定向到www。除了指向/cgi-bin/mail-dada内部的请求/

我想不出为什么下面的代码也会重定向到www预设版本

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]

你问题中的规则应该是有效的

我怀疑缓存有问题(可能是旧规则?)。
请使用其他浏览器重试,或清除缓存,然后重试

另外,如果你不想硬编码你的域名,你可以这样做(如果你只有
www
非www
子域)


你还有其他规定吗?可能是缓存中的旧规则(用另一个浏览器试试或清除缓存)是的,实际上我自己才意识到,这是愚蠢的浏览器重定向缓存。规则起作用。你可以加上它作为答案,我会接受的!是的,这是缓存问题,在另一个浏览器中工作,谢谢。
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{REQUEST_URI} !^/cgi-bin/mail-dada/ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]