子目录/子域的no-www url

时间:2013-11-05 06:10:56

标签: php regex apache .htaccess mod-rewrite

举例说明我的域名是http://www.domain.com,我想重定向到no-www url(http://domain.com),因为我在.htaccess中使用了这段代码

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

它正常http://www.domain.com重定向到http://domain.com

现在我有一个子域http://www.blog.domain.com(public_html / blog)被重定向到no-www url http://blog.domain.com,因为我使用了这段代码。

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

但是后来www也没有在子域url中删除。我在这里做错了什么?

更新:我的托管服务提供商是hostgator

1 个答案:

答案 0 :(得分:1)

第1步:

似乎/public_html/blog内也有一个WP .htaccess。在/public_html/blog/.htaccess:

中的WP规则之前添加此规则
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

第2步:

然后在WP permalink settings中将您的博客地址更改为:

http://blog.domain.com