Apache mod_将子域重写到目录

Apache mod_将子域重写到目录,apache,.htaccess,mod-rewrite,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 您可以使用此.htaccess: <IfModule mod_re

我正在尝试重定向所有请求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


您可以使用此.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>
因为博客\。?意思是有或没有博客

<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>