我的网络服务器正在运行 Plesk,我的网站结构部分如下:
/
/httpdocs (domain root folder, URL: http://www.domain.com)
/subdomains
/subdomains/blog/httpdocs (blog root folder, URL: http://blog.domain.com)
我在域根文件夹中安装了 WordPress,并将 WP 配置为访问时显示静态页面www.domain.com
,访问时显示博客www.domain.com/blog
。
但是,我想重定向(使用 mod_rewrite)所有来自http://blog.domain.com/到http://www.domain.com/blog/。
举几个例子:
访问http://blog.domain.com/archives应该访问http://www.domain.com/blog/archives/
访问http://blog.domain.com/tag/abc应该访问http://www.domain.com/blog/tag/abc/
访问http://blog.domain.com/some-post-title应该访问http://www.domain.com/blog/some-post-title
所有这些对用户来说都应该是透明的,浏览器的地址栏上的地址不应该改变。换句话说,我想要的是 URL 重写,而不是 URL 重定向。
这可以通过 mod_rewrite 实现吗?有人能帮我处理 .htaccess 吗?我所有的尝试都失败了……
答案1
当然,你可以将请求从blog.example.com
代理到example.com/blog
。你可以找到反向代理的简单示例在 mod_proxy 的文档中。只需将指令放在.htaccess
文档根目录中的文件中blog.example.com
或将它们放入相应的vhost.conf
文件中即可。
.htaccess
但我真的不认为仅仅重定向客户端有什么好处,只需将文件放入文档根目录中并添加blog.example.com
以下内容即可:
RedirectPermanent / http://www.example.com/blog/