2015-12-26 120 views
0

我想有apache充當反向代理並將URL重定向到不同的主機。apache mutile主機反向代理重寫

<VirtualHost *:80> 
ProxyPreserveHost On 
RewriteEngine  On 
RewriteRule   ^/app1/(.*) http://192.168.56.102:10001/$1 [P,L] 
ProxyPassReverse /app1/ http://192.168.56.102:10001/ 

RewriteRule   ^/(.*) http://192.168.56.102:82/$1 [P,L] 
ProxyPassReverse /http://192.168.56.102:82 
ServerName servername.local 
</VirtualHost> 

上述工作以及和重定向我的網址代碼:

  • servername.local到端口82
  • servername.local/APP1 /到10001端口

我會喜歡也有servername.local/app1重定向到端口10001但這不起作用我必須添加/添加我嘗試添加的URL的末尾

ProxyPassReverse /app1 http://192.168.56.102:10001/ 

但它不起作用有沒有辦法實現呢?

回答

0

廢棄重寫並使用ProxyPass。您將ProxyPassReverse與使用P標記的ProxyPass或RewriteRule做了什麼混淆。

此外,你不是「重定向」你是代理。如果你想代理/ app1,那麼當你爲它設置重寫代碼或代理通行證時,不要包含結尾的斜線。

+0

感謝您的回答,如果我使用 的ProxyPass/APP1 http://192.168.56.102:10001/ 的ProxyPass/http://192.168.56.102:82/ 它的工作,但我使用重寫規則和的ProxyPass因爲我有當我重定向到app1時,如果我在index.html文件中使用/static.css,則無法解決該問題,則將使用基本url而不是http://192.168.56.102:82/app1/static加載該源文件。 CSS但http://192.168.56.102:82/static.css 如果我在app1的index.html中使用static.css,但它使用的代碼不是我的,所有靜態資源都以前綴斜槓 – Aaleks

+0

對不起http://192.168.56.102/static.css而不是http://192.168.56.102/app/static.css – Aaleks