将除www之外的所有子域重定向到主域

问题描述:

我想将除www之外的所有子域重定向到.htaccess中的https://www.example.com,我该怎么做?所有子域都可以被访问。将除www之外的所有子域重定向到主域

我只想重定向子域,而不是主域上的内部页面。

例子:(应该重定向)

  • hello.domain.com
  • test.example.domain.com
  • www.hello.sub.domain.com

实例其中不重定向:

  • www.domain.com/hello-world
  • www.domain.com

当前.htaccess文件:

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www.domain.dk$ 
RewriteRule ^(.*) https://www.domain.dk/$1 [QSA,L,R=301] 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

这应该让你开始。除www.mydomain.com之外的任何内容都将重定向到www.example.com。

RewriteCond %{HTTP_HOST} !^www.mydomain.com$ 
RewriteRule ^(.*) https://www.example.com/$1 [QSA,L,R=301] 

编辑:

请记住,这是在您的子文件夹中的.htaccess,或_wildcard_domain.com,你将不得不为此工作创建或编辑。

+0

似乎并没有工作。顺便说一下,子域是可访问的。并在隐身模式下进行测试。 – JDoe

+0

使用http://httpstatus.io进行测试 - 这不会受到缓存的影响。 – Chris

+0

另一个问题,如https://www.example.com/hello-world等页面是否也会被重定向,因为这不是我想要的。 – JDoe

试试这个在您的.htaccess:

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 
+0

您的规则将** sub.example.com **重定向到** http://www.sub.example.com**。 – starkeen