Apache 重写应用程序的相对 URL

Apache 重写应用程序的相对 URL

我在 localhost 上运行了一个 Web 应用程序,并在端口 5050 上监听。我希望这个 Web 应用程序的 URL 具有相对路径 domain.tld/page/app

我尝试使用 mod_rewrite:

    <Location /page/app>
        RewriteEngine on
        RewriteRule .*$ http://127.0.0.1:5050/$1 [P,QSA,NE]
    </Location>

这会将 domain.tld/page/app 重写为 domain.tld/login,但这在我的服务器上不是一个有效的 URL。

是否可以逆转重写?我无法使用 ProxyPassReverse,因为当我将请求代理到应用程序时,我需要从 URL 中删除相对路径。

答案1

这是一个教科书式的案例mod_proxy

ProxyPass         "/page/app/" "http://127.0.0.1:5050/"
ProxyPassReverse  "/page/app/" "http://127.0.0.1:5050/"

请注意,使用此语法时不能在 内部使用它<Location>

相关内容