apache 将RewriteRule重定向到localhost会导致重定向相对于localhost而不是原始URL

dw1jzc5e  于 7个月前  发布在  Apache
关注(0)|答案(1)|浏览(73)

我有一个后端服务器运行正常,并绑定到127.0.0.1:5000
在我的站点根目录的.htaccess中,我有RewriteRule "^(.*)$" http://localhost:5000/$1 [P,NE,L,QSA]将请求重定向到我的服务器。
如果我访问我的网站https://example.com的主页,我会被重定向到localhost:5000/login而不是https://example.com/login
我尝试过使用ProxyPass/ProxyPassReverse的建议,但由于我只能访问.htaccess(许多网站在此服务器上运行),这些都不起作用。
有没有一种方法可以让我将最初请求的URL传递给我的服务器,以便它正确地回复?或者我可以在.htaccess中添加一些东西,在重定向返回到客户端之前适当地重写重定向吗?

aelbi1ox

aelbi1ox1#

您可以使用此规则来代理所有使用HTTP_HOST变量的请求:

RewriteEngine On

RewriteRule ^ http://%{HTTP_HOST}:5000%{REQUEST_URI} [P,NE,L]

相关问题