不使用子目录将子域指向root

时间:2014-09-05 15:22:46

标签: php wordpress .htaccess mod-rewrite redirect

我有以下情况:

  • blog.site.com指向server1
  • site.com指向server2

我希望blog.site.com成为site.com/blog。所以我想我会将blog.site.com指向server2并放入一个子文件夹blog,我可以在其中放置.htaccess文件来执行301重定向。但是,通过创建一个blog子目录,它会使用空白目录覆盖/blog/title-goes-here

我的问题是server1正在退役,因此无法用于301重定向。

我是否有办法在不使用blog.site.com子目录的情况下将server2指向site.com/blog/title-goes-here成为blog?或者使用blog子目录但不干扰网址?

请注意。这是一个wordpress网站,其中来自serve1的帖子已被导入。将博客作为site.com网站的一部分非常重要。

1 个答案:

答案 0 :(得分:0)

除非我遗漏了某些内容,否则您不需要重定向 - 您需要重写规则。

让您的blog.site.com和site.com的DNS条目指向server2。然后在server2上的.htaccess添加相应的规则:

RewriteCond %{HTTP_HOST} ^blog\.site\.com$
RewriteRule (.*) /blog/$1 [L]

现在无论您是访问site.com还是blog.site.com,您最终都会访问同一台服务器。然后,重写规则将确保blog.site.com/something类型的请求实际调用site.com/blog/something

请注意,我没有测试过这个。