mod_rewrite子域到目录

时间:2015-02-06 13:17:23

标签: apache .htaccess mod-rewrite

我尝试将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/$1 [L,R=301]

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

1 个答案:

答案 0 :(得分:0)

您可以使用此.htaccess:

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

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

因为(blog\.)?表示有或没有blog.