我有一个有40个子域的网站。
我想添加 301 htaccess 重定向...
1) domain.com 到 www.domain.com
2) www.sub-domain.domain.com 到 www.domain.com/sub-domain
3) sub-domain.domain.com www.domain.com/sub-domain
我已经用下面的代码实现了 1 和 3 重定向......
RewriteCond %{HTTP_HOST} ^domain'.com$
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^sub-domain'.domain'.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [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]
这段代码将帮助您使用第一个选项,并且无论域如何,它都可以工作,它是通用的,因此您不必创建 40 行代码。
RewriteCond %{HTTP_HOST} !^www'.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]