我有一台 Web 服务器在不同的端口上运行两个站点。IE: server:8081 and server:8083 我设置了两条 DNS 记录并指向“我的服务器”</p>
Dev.server.com 和 Pre.server.com
我希望 Dev.server.com 重定向到 server:8083 但屏蔽 URL 以始终保持 Dev.server.com 和 Pre.server.com 重定向到 server:8081 但屏蔽 URL 以始终保持 pre.server.com
如果我这样设置它们
<VirtualHost *:80>
ServerName http:// Dev.server.com
ProxyRequests off
ProxyPass / http://server:8083
ProxyPassReverse / http://server:8083
</VirtualHost>
<VirtualHost *:80>
ServerName http:// Pre.server.com
ProxyRequests off
ProxyPass / http://server:8081
ProxyPassReverse / http://server:8081
</VirtualHost>
一切都路由到 Dev 实例,没有任何东西到达 Pre 实例
我是这样设置的;
<VirtualHost *:80>
ServerName http:// Dev.server.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^dev\.server\.com$ [NC]
RewriteRule ^(.*)$ http:// Dev.server.com:8083$1 [R]
RewriteCond %{HTTP_HOST} ^pre\.server\.com$ [NC]
RewriteRule ^(.*)$ http://pre. server.com:8081$1 [R]
</VirtualHost>
Listen 0.0.0.0:8083
Listen 0.0.0.0:8081
<VirtualHost *:8083>
ServerName dev. server.com
ProxyRequests off
ProxyPass / http:// server.com:8083/jde/owhtml/
ProxyPassReverse / http:// server.com:8083/jde/owhtml/
Oc4jMount /jde HTML_DV_8083
Oc4jMount /jde/* HTML_DV_8083
</VirtualHost>
<VirtualHost *:8081>
ServerName pre.server.com
ProxyRequests off
ProxyPass / http:// server.com:8081/jde/owhtml/
ProxyPassReverse / http:// server.com:8081/jde/owhtml/
Oc4jMount /jde HTML_PY_8081
Oc4jMount /jde/* HTML_PY_8081
</VirtualHost>
这非常适合路由,但不会屏蔽 URL。它将端口添加到我们不希望发生的 URL 中。
有人对我做错了什么有任何想法吗?