重写www。到非www而不指定域名?

时间:2012-07-01 00:54:13

标签: .htaccess

我使用此代码从我的域中删除www:

# remove www
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

我的问题是我通常使用子域,但它不适用于它们。 (www.sub.example.com)。

我如何重写以删除www无论域名是什么,即使它有子域名?

2 个答案:

答案 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]