我创建了一个代理通道,将路径 /vocab/arch 添加到我的本地主机实例。这是我使用的配置:
<IfModule mod_proxy.c>
ProxyPass /vocab/arch http://localhost:3000/
ProxyPassReverse /vocab/arch http://localhost:3000/
Alias /vocab/arch /assets/
</IfModule>
<Location />
Require all granted
</Location>
RewriteEngine On
RewriteRule ^/vocab/arch - [L]
RewriteRule ^/(.*) http://localhost:3000/$1 [P,L]
ProxyPassReverse /vocab/arch http://localhost:3000/
指向http://本地主机:3000/我的网络应用程序的登录页面如预期的那样http://localhost:3000/vocab/arch/en.html。
但是点击“收藏”之类的链接时,我https://localhost:3000/en/collections.html代替https://localhost:3000/vocab/arch/en/collections.html
我该如何解决这个问题?
提前致谢
答案1
修复您的子主机。proxy-pass 不会重写来自其他 Web 服务器的响应。因此,如果其他服务器(在端口 3000 上)提供没有正确路径的 URL 的 href 和链接,您将准确看到您得到的结果。
即你的 localhost:3000 服务器正在返回链接至https://localhost:3000/en/collections.html代替https://localhost:3000/vocab/arch/en/collections.html