Apache-2.2

可以同時使用 Redirect 和 Proxypass

  • June 18, 2014

我在 CentOS 上使用 Apache 2.2.15 為 TomCat 應用程序提供 SSL。

ProxyPass / http://127.0.0.1:8090/ connectiontimeout=300 timeout=300
ProxyPassReverse / http://127.0.0.1:8090

這很好用,一切都很好;但是,我想添加以下行:

Redirect permanent /broken/page.html https://www.servername.com/correct/page.html

在上面處理 TomCat 應用程序本身的錯誤之前。但是,它似乎沒有按我預期的方式工作(即,它似乎什麼也不做,也什麼都不改變)。是否可以通過這種方式使用重定向?不幸的是,我無法編輯應用程序。

是的!在 上方ProxyPass /,添加:

ProxyPass /broken/page.html !

這將強制 proxypass 不對您嘗試重定向的頁面起作用。

<Proxy>也很有用,因為上下文總是被理解為適用於代理流量。以這種方式,您不需要排除特定路徑。

<Proxy *>
   Redirect permanent /broken/page.html https://www.example.com/correct/page.html
   RedirectMatch ^/deadstuff.+ http://www.example.com/correct/page.html
</Proxy>

ProxyPass / http://127.0.0.1:8090/ connectiontimeout=300 timeout=300
ProxyPassReverse / http://127.0.0.1:8090

引用自:https://serverfault.com/questions/605931