Apache重定向到另一台保留浏览器地址的服务器

时间:2013-01-08 00:17:33

标签: wordpress apache mod-rewrite cross-domain

有一个基于apache / php的自定义网站。我也有一个wordpress博客,我希望它可以托管在不同的服务器上。

我尝试创建像http://blog.mydomine.com这样的子domine,但我想保留旧地址(http://www.mydomine.com/corp/blog)用于搜索引擎优化目的。我添加了以下配置tu .htaccess文件。

RewriteCond %{REQUEST_URI} ^/corp/blog 
RewriteRule ^(.*)$ http://blog.mydomine.com/$1 [L]

我想知道在重定向请求后是否可以告诉apache不要更改浏览器地址。我知道我可以进行301重定向,但我更愿意保留旧地址。

有什么想法吗?提前致谢!! :)

3 个答案:

答案 0 :(得分:3)

使用P标志 http://httpd.apache.org/docs/current/rewrite/flags.html#flag_p

RewriteRule ^(.*)$ http://blog.mydomine.com/$1 [P]

答案 1 :(得分:3)

您可以尝试反向代理...

ProxyRequests Off
ProxyPreserveHost on
ProxyPass /corp/blog http://blog.mydomine.com/
ProxyPassReverse /corp/blog http://blog.mydomine.com/
ProxyPassReverseCookiePath /corp/blog /

这需要安装并启用mod_proxy。 请注意,这只适用于apache doc的以下上下文:server config,virtual host,directory - 这意味着将它放在htaccess文件中是行不通的。

答案 2 :(得分:0)

你真正想要的是不可能的。不是Apache显示地址,它是网络浏览器,并且(谢天谢地)告诉网络浏览器“转到网站A,但告诉用户它是网站B。”

您可以使用主站点上的框架页面伪造此行为,但由于您希望将其用于SEO,我认为这不会有所帮助。