【问题标题】:hosting multiple websites on apache under one ip address在一个 ip 地址下在 apache 上托管多个网站
【发布时间】:2013-08-04 16:58:21
【问题描述】:

我正在尝试在我的 apache 服务器上托管多个网站(在 Tomcat 服务器上运行的 app.diff1.com 和 app.diff2.com),它们分别在端口 8082 和 8083 上运行,以访问它们我想使用一个域名 (app.in.xxx.com/diff) 以及区分符 (diff1/diff2)。我使用 url 重写来分别更改域名。现在,当我尝试访问这些网站时,我总是会遇到第一个虚拟主机。 如果我没有正确解决解决方案,请建议我。

代码sn-p:

在 httpd.conf 文件中。

    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteCond %{HTTP_HOST} ^app\.in\.xxx\.com/([a-z]*)$
      RewriteRule ^ http://www.app.%1.com [L,R=301]
    </IfModule>

    <IfModule mod_proxy.c>
      ProxyRequests off         
    </IfModule>

    NameVirtualHost *:80

    <VirtualHost *:80>
      ServerName www.app.diff1.com
      ProxyPass / http://www.app.diff1.com:8082/
      ProxyPassReverse / http://www.app.diff1.com:8082/
    </VirtualHost>

    <VirtualHost *:80>
      ServerName www.app.diff2.com
      ProxyPass / http://www.app.diff2.com:8083/
      ProxyPassReverse / http://www.app.diff2.com:8083/ 
   </VirtualHost>

【问题讨论】:

    标签: apache tomcat mod-rewrite


    【解决方案1】:

    将您的重写移动到第一个列出的虚拟主机中,并停止尝试捕获 URL 的第一个路径组件,就像它是 HTTP_HOST 的一部分一样 - 在 RewriteRule 本身中捕获它并使用 $1。

    另请参阅 ServerPath,这是一种执行相同映射的深奥方法。

    【讨论】:

      猜你喜欢
      • 2016-02-07
      • 2015-10-23
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      • 2012-05-03
      • 1970-01-01
      相关资源
      最近更新 更多