mod_rewrite重定向到不同服务器上的同一命名文件夹

时间:2013-03-18 20:10:53

标签: apache .htaccess mod-rewrite

让我正在合作的公司想要从同一个域运行2个不同的服务器 - 一个Apache,一个Windows 2008 - 这是处理一些php后端内容和一些传统的asp.net资料。 Apache框将是该网站的主要服务器,其中Windows框用于服务某些外围论坛和微型网站。

想知道在Apache框上创建mod_rewrite以重定向到Windows服务器上的某些内容的可能性 - 例如:

http://mydomain.com/mywindowsfolder - 内容需要来自Windows服务器

所以 - 在httpd.conf中重写规则如下:

重写发动机 RewriteCond%{REQUEST_URI} ^ / mywindowsfolder /
RewriteRule ^ / $ http://XXX.XXX.XXX.XXX/mywindowsfolder/ [P,L]

(要使用的Windows框的IP地址)

我正在阅读mod_rewrite中的P标志 - 这是否有效,以便网址保持为http://mydomain.com/mywindowsfolder? - 如果是这样,请有人帮助正确的正则表达式 - 我不确定上述内容是否会产生无限循环。

不显示Windows框的IP地址非常重要。

我猜测替代方案是使用带有DNS的子域和地址记录 - 那么这是一条更明智的路线吗?

感谢您的任何建议,

马克

1 个答案:

答案 0 :(得分:0)

一种方法可能是使用ProxyPass

ProxyPass /mywindowsfolder/ http://www.xxx.yyy.zzz/mywindowsfolder/

缺点是,您不能在.htaccess文件中使用它,而只能在主配置文件或虚拟主机上下文中使用它。