我的公司目前有一个基于Windows的Web服务器,用于服务我们的主要网站以及一些.NET应用程序,这些应用程序位于子目录中。
我们刚刚完成了在Drupal中开发我们主要网站的新版本。 我的老板不想在我们当前的服务器上安装PHP。
我们有能力创build一个可以安装PHP的虚拟Web服务器,我们可以为我们的主要网站服务。 我们可以把它做成LAMP或Windows。 不过,我的老板希望所有的.NET应用程序都保留在当前的服务器上。
如何configuration运行新主站点的虚拟化服务器来将子目录的请求“推送”到原始服务器?
你可能会想使用像Apache的反向代理指令。 可能只是简单的:
ProxyPass /foo/ http://www.windowsbox.com/foo/
ProxyPassReverse /foo/ http://www.windowsbox.com/foo/
这会将所有请求redirect到Apache服务器上的/ foo /文件夹,转移到Windows Box上的/ foo /文件夹。 Windows框中页面上的任何链接都将被重写为正常工作。
您可能还必须通过LoadModule加载该页面顶部列出的所有代理模块。
– 克里斯托弗·卡雷尔
我使用SQUID透明地重写,使用一个简单的PERL脚本来执行redirect_program指定的正则expression式。
其他Web代理也支持重写。 Christopher Karel 确定了 Apache的mod_proxy,而Nginx则支持它。 事实上,如果Web代理不支持重写,我会感到惊讶。
一定要理解重写和redirect之间的区别: