如何将所有不存在的子域名重定向到我的主URL?

时间:2014-03-13 15:21:29

标签: regex apache .htaccess mod-rewrite

在我的Drupal网站上,提供的.htaccess文件允许我使用以下代码将www.example.com请求重定向到example.com:

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]

除此之外,我还想将所有子域请求指向example.com。例如:

  • foobar.example.com - > example.com
  • wwww.example.com - > example.com
  • foo.example.com/mypage.php - > example.com/mypage.php

那么,我将如何修改上述代码来实现这一目标呢?

1 个答案:

答案 0 :(得分:1)

您可以在当前规则之后使用其他规则:

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} ^[^.]+\.example\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]