.htaccess - 除了一个带有 htaccess 的子域,将所有非 www 重定向到 www

标签 .htaccess redirect

我想重定向所有不包含 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/

相关文章:

java - 如何在java中的restfull api中显示带有错误的同一页面(一种输入形式)?

linux - htaccess 重写规则 windows/linux ,域到子页面

php - .htaccess RewriteRule 500 内部服务器错误

.htaccess - 301 从旧页面重定向到 Apache 上的新页面不起作用

.htaccess - 防止通过 .htaccess 直接访问 robots.txt

amazon-web-services - CloudFront 上基于设备的重定向从 S3 源服务

redirect - Dropbox 抛出 "Invalid redirect_uri"错误,尽管在应用程序中指定了完全相同的 url

php - Codeigniter SEO 友好的 URL 重写

php - 单击链接时 Codeigniter 不显示样式表

bash - stdout 到 file1,stderr 到 file2,都正确交错到 stdout 和文件