使用mod_rewrite将掩码重定向到临时域

时间:2008-10-01 05:14:32

标签: apache url mod-rewrite url-rewriting

我们正在companyname.com/blog上建立一个公司博客,但现在该博客是一个Wordpress安装,它位于不同的服务器上(blog.companyname.com)。

目的是在一两个月内将博客和网站放在同一台服务器上,但这会在过渡期间留下问题。

目前我正在使用mod_rewrite执行以下操作:

http://companyname.com/blog/article-name重定向到http://blog.companyname.com/article-name

即使内容来自后者blog.companyname.com,我能以某种方式保持地址栏显示companyname.com/blog吗?

如果它位于同一服务器和vhost上,但是不能跨越不同的服务器,我可以看到如何做到这一点?

由于

3 个答案:

答案 0 :(得分:3)

您可以使用mod_proxy在companyname.com上设置反向代理,而不是使用mod_rewrite,以便将http://companyname.com/blog/article-name的请求代理(而不是重定向)到http://blog.companyname.com/article-name

以下是more instructions and examples

答案 1 :(得分:0)

有一个名为webforwards的ZoneEdit功能可以执行此操作并隐藏您实际执行的操作(除非有人查看)。

答案 2 :(得分:0)

mod_rewrite唯一可以做的就是发送HTTP标头重定向,这些重定向(跨服务器)总是会导致浏览器地址栏反映现实。

您应该考虑编写一个“反映”博客的404脚本。这本质上是一个透明的代理,许多已经写好了。

该脚本会查找所请求的页面(已404)是否以http://mycompany.com/blog/开头。如果确实如此,它会下载然后将博客页面和相关文件发送到客户端(可能还会缓存它们)。

因此请求http://mycompany.com/blog/article_xyz会导致404脚本下载并发送http://blog.companyname.com/article_xyz

这可能比它的价值更多,但你可能能够设计一个足够简单的404脚本,这是值得的。

- 亚当