将子域重定向到其他域上的目录

时间:2013-10-16 17:40:06

标签: apache .htaccess redirect pinnacle-cart

一般理念
是否可以将sub.domain1.com重定向到www.domain2.com/directory

更多细节
我想将Pinnacle Cart安装从store.pinnaclecart.com重定向到www.domain.com/store,但所有购物车文件将保留在Pinnacle Cart的服务器@ store.pinnalcecart.com上。这是可能的吗?它会起作用吗?我可以在两台服务器上访问.htaccess。

更多细节编辑
 如果这是一个不同的问题,我希望sub.domain1.com上的所有链接都能阅读domain2.com/dir道歉。

1 个答案:

答案 0 :(得分:0)

store.pinnaclecart.com的htaccess文件中,您需要以下内容:

RewriteEngine On
RewriteRule ^(.*)$ http://www.domain2.com/directory/$1 [L,R]

然后在www.domain2.com的htaccess文件中,您需要将请求代理回到顶峰:

RewriteEngine On
RewriteRule ^directory(.*)$ http://store.pinnalcecart.com$1 [L,P]

您需要确保在domain2.com服务器上加载mod_proxy。如果您需要反向cookie /主机重写,则无法在htaccess中执行此操作,并且需要在vhost配置中设置反向代理。

这是您在vhost配置中设置反向代理所需要做的(对于domain2.com):

ProxyPass /directory/ http://store.pinnalcecart.com/ connectiontimeout=2 retry=10
ProxyPassReverse /directory/ http://store.pinnalcecart.com/
ProxyPassReverseCookieDomain store.pinnalcecart.com www.domain2.com

请查看ProxyPass文档,了解更多连接选项。

ProxyPassReverse指令重写重定向和主机,ProxyPassReverseCookieDomain指令重写cookie中的主机名。你可能需要也可能不需要这两个。

你需要确保加载mod_proxy,在你的httpd.conf文件中你应该有这样一行:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

(未注释)