我应该使用RewriteRule
(使用.htaccess
/ mod_rewrite
)将http://example.com/blog/
(带{1}}或不带)重定向到www
?
我正在使用以下内容,但获得重定向循环:
http://blog.example.com/
答案 0 :(得分:6)
在您现有的规则中,您似乎有一些错误的方法,我认为不需要负面(即!
)测试。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com [NC]
RewriteRule ^/blog/$ http://blog.example.com/ [L,R=301]
但是,我建议您不要使用RewriteCond
指令来检查主机名,只需确保VirtualHost
的规则位于www.example.com
右侧。
<VirtualHost ...>
ServerName www.example.com
ServerAlias example.com
RewriteRule ^/blog/ http://blog.example.com/ [L,R=301]
</VirtualHost>
(nb:假设blog.example.com
和www.example.com
实际上是独立的虚拟主机)