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

问题描述 投票:0回答:1

我有一个正确运行的后端服务器并绑定到

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
添加一些内容,以便在将重定向返回给客户端之前适当地重写重定向吗?

apache .htaccess reverse-proxy
1个回答
0
投票

您可以使用此规则通过

HTTP_HOST
变量来代理您的所有请求:

RewriteEngine On

RewriteRule ^ http:///%{HTTP_HOST}:5000%{REQUEST_URI} [P,NE,L]
© www.soinside.com 2019 - 2024. All rights reserved.