如果我去http://www.example.com
我希望它留在那里,这很好
如果我转到http://bar.example.com
,它会重定向到http://www..com
,这是错误的
鉴于http://www.example.com
RewriteCond
RewriteEngine On RewriteCond %{HTTP_HOST} !^$ RewriteCond %{HTTP_HOST} !^www.(example).com [NC] RewriteRule ^(.*) http://www.%1.com/$1 [L,R]
Ubuntu 8.04
包装:apache2-mpm-prefork
架构:i386
版本:2.2.8-1
答案 0 :(得分:3)
否定模式不匹配,因此您无法引用该组不存在的匹配项。
但请尝试使用此规则:
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*) http://www.example.com/$1 [L,R=301]
答案 1 :(得分:0)
您的情况与bar.mysite.com不符:
RewriteCond %{HTTP_HOST} !^www.(mysite).com [NC]
您需要将其更改为匹配才能使反向引用工作:
RewriteCond %{HTTP_HOST} !^[^\.]+\.(mysite)\.com [NC]