将子目录重定向到子域

时间:2012-10-01 21:13:24

标签: .htaccess

我希望将http://domain.com/blog移至http://blog.domain.com。这也意味着需要将/blog /blog/post/1的所有内容路由到http://blog.domain.com/post/1

1 个答案:

答案 0 :(得分:3)

  1. 确保您在blog.domain.com上有内容。具体而言,如果您转到http://blog.domain.com/post/1,则会获得正确的内容。

  2. domain.com域名的文档根目录中的htaccess文件中,添加(最好是您可能已经拥有的任何规则):

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(www\.)?domain.com$ [NC]
    RewriteRule ^/?blog/(.*)$ http://blog.domain.com/$1 [L,R=301]
    
  3. 如果您在blog.domain.com实际上没有任何内容并且它与domain.com共享相同的文档根目录,那么您需要添加以下附加规则:

    RewriteCond %{HTTP_HOST} ^blog.domain.com$ [NC]
    RewriteCond %{DOCUMENT_ROOT}/blog%{REQUEST_URI} -f [OR]
    RewriteCond %{DOCUMENT_ROOT}/blog%{REQUEST_URI} -d
    RewriteRule ^ /blog%{REQUEST_URI} [L]