我使用此代码从我的域中删除www:
# remove www
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
我的问题是我通常使用子域,但它不适用于它们。 (www.sub.example.com)。
我如何重写以删除www无论域名是什么,即使它有子域名?
答案 0 :(得分:1)
试试这个:
#********** Remove www from address **********
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,NC]
这比其他解决方案更正确。
编辑: 我删除了[L],因为它不适用于此 虽然在大多数情况下[NC]建议不区分大小写。
答案 1 :(得分:0)
您可以使用捕获组并与重写相结合......(完全未经测试的猜测)
# remove www
RewriteCond %{HTTP_HOST} ^www.(.*) [NC]
RewriteRule ^(.*)$ http://$1 [R=301,L]