Apache 重写第二个反向引用不工作
如果我转到Apache 重写第二个反向引用不工作,apache,mod-rewrite,backreference,Apache,Mod Rewrite,Backreference,如果我转到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] Rewri
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]
重新启动发动机
重写条件%{HTTP_HOST}!^$
重写cond%{HTTP_HOST}^www.(example.com[NC]
重写规则^(.*)http://www.%1.com/$1[L,R]
Ubuntu 8.04包装:apache2 mpm prefork
架构:i386
版本:2.2.8-1您的情况与bar.mysite.com不匹配:
RewriteCond %{HTTP_HOST} !^www.(mysite).com [NC]
您需要将其更改为匹配,以便使反向引用正常工作:
RewriteCond %{HTTP_HOST} !^[^\.]+\.(mysite)\.com [NC]
被否定的模式没有匹配项,因此不能引用一组不存在的匹配项 但请尝试以下规则:
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*) http://www.example.com/$1 [L,R=301]
啊,否定模式。现在一切都有意义了。谢谢