mod_rewrite 子域到目录

mod_rewrite sub-domain to directory

我正在尝试将 http://blog.example.com 的所有请求重定向到 http://www.example.com/blog

除了对 example.com 的所有请求现在也转到 www.example.com/blog 之外,我下面的内容有效。但是,诸如 example.com/about 之类的请求已正确重定向到 www.example.com/about.

我需要做什么才能防止 example.com 重定向到 example.com/blog

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP_HOST} ^(blog\.)?example\.com$ 
  RewriteRule ^(.*)$ http://www.example.com/blog/ [L,R=301]

  RewriteCond %{HTTP_HOST} !^www\.
  RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/ [R=301,L]
</IfModule>

你可以使用这个.htaccess:

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP_HOST} ^blog\.example\.com$ [NC]
  RewriteRule ^(.*)$ http://www.example.com/blog/ [L,R=301]

  RewriteCond %{HTTP_HOST} !^www\. 
  RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/ [R=301,L]
</IfModule>

因为(blog\.)?表示有无blog..