将所有子域(www 和非 www)的单个 htaccess 重定向到文件夹

Single htaccess redirect for all subdomains (www and non-www) to folder

我的网站有 40 个子域。

我想为...添加 301 htaccess 重定向...

1) domain.com 到 www.domain.com

2) www.sub-域。domain.com 到 www.domain.com/sub-domain

3) 子域。domain.com 到 www.domain。com/sub-domain

我用下面的代码实现了 1 和 3 重定向....

RewriteCond %{HTTP_HOST} ^domain\.com$

RewriteRule ^(.*)$ http://www.domain.com/ [R=301,L]

RewriteCond %{HTTP_HOST} ^sub-domain\.domain\.com

RewriteRule ^(.*)$ http://www.domain.com/ [R=301,L]

这段代码将帮助您选择第一个选项,它可以在任何域中工作,它是通用的,因此您不必创建 40 行代码。

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

您可以使用:

RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^ http://www.domain.com%{REQUEST_URI} [R=301,L,NE]

RewriteCond %{HTTP_HOST} ^(?:www\.)?((?!www).+)\.domain\.com$ [NC]
RewriteRule !^%1 http://www.domain.com/%1%{REQUEST_URI} [R=301,L,NE]