【发布时间】:2013-11-15 23:14:09
【问题描述】:
假设我的域是http://www.domain.com,我想重定向到无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
【问题讨论】:
-
您的第一条规则对于子域也应该足够了。
www.blog.domain.com是否使用与domain.com相同的 DOCUMENT_ROOT?是否为www.blog.domain.com安装了 CMS 框架? -
1) 是的,www.blog.domain.com 使用相同的 DOCUMENT_ROOT 2. 是的,在 public_html/blog 中安装了 wordpress CMS
-
哦好的 WP 在那里所以
http://blog.domain.com应该使用 DOCUMENT_ROOT 作为/public_html/blog对吗? -
完全正确
/public_html/blog -
好的,我在下面提供了答案。
标签: php regex apache .htaccess mod-rewrite