我想重定向所有不包含 www
的 URL至 www
我用过这个:
RewriteCond %{HTTP_HOST} !^www.example.com$
RewriteRule ^(.*) http://www.example.com$1 [QSA,L,R=301]
现在我需要一个子域不要像这样重定向,否则我会收到错误消息。
所以我想重定向任何不以 sub 或
www
开头的 URL至 www.example.com
我怎样才能做到这一点 ?谢谢
最佳答案
您需要第二个 RewriteCond
.您可以申请任意数量的 RewriteRule
.
假设任何不是 sub.mydomain.com
需要www.mydomain.com
,这是您的代码:
RewriteCond %{HTTP_HOST} !^sub.mydomain.com$
RewriteCond %{HTTP_HOST} !^www.mydomain.com$
RewriteRule ^(.*) http://www.mydomain.com/$1 [QSA,L,R=301]
但是您可以使用正则表达式中的管道(
|
)字符进一步简化:RewriteCond %{HTTP_HOST} !^(sub|www).mydomain.com$
RewriteRule ^(.*) http://www.mydomain.com/$1 [QSA,L,R=301]
关于.htaccess - 除了一个带有 htaccess 的子域,将所有非 www 重定向到 www,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11830960/