强制www时mod_rewriteredirect循环。 在域上

我试图强制www。 只在生产服务器上。 我不想影响登台服务器的域名。 这是我目前的规则:

# Force www RewriteCond %{HTTP_HOST} !^www.mydomain.com$ #production RewriteCond %{HTTP_HOST} !^mydomain.s2.mycompany.com$ #staging RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301] 

基本上,如果主机不是www.mydomain和主机不是mydomain.s2 ….那么我想redirect到www.mydomain.com。 用上面的代码,我得到一个redirect循环。

有任何想法吗?

将“Last”或“L”标志添加到RewriteRule,如[R=301,L]

 RewriteCond %{HTTP_HOST} !^www.mydomain.com$ #production RewriteCond %{HTTP_HOST} !^mydomain.s2.mycompany.com$ #staging RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L] 

这应该停止循环。

您可以在这里查看RewriteRule指令(及其他)的文档: http : //httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule