我在localhost:63837
上运行了isso应用,我想代理来自https://www.domain.com/isso
的请求
这些是我的方法:
RewriteRule https://www.domain.com/isso/(.*)$ http://127.0.0.1:63837/$1 [P]
RewriteRule /isso/(.*)$ http://127.0.0.1:63837/$1 [P]
RewriteRule /isso(.*)$ http://127.0.0.1:63837/$1 [P]
通常我会调整httpd-vhost.conf
,但在这种情况下,我不能在我的主机(uberspace)上这样做。
<Location "/isso">
ProxyPass "http://127.0.0.1:63837"
ProxyPassReverse "http://127.0.0.1:63837"
</Location>
另外,我不喜欢使用子域名。
答案 0 :(得分:1)
您的第二种方法几乎是正确的(实际上,这恰好适用于.conf
文件)。
在每个目录上下文(Directory
或.htaccess
)中, Pattern 仅与部分路径匹配:定义规则的目录路径将从中删除比较前的路径 - 包括尾部斜线!
删除的前缀始终以斜杠结尾,这意味着匹配发生在从不具有前导斜杠的字符串上。
因此:
RewriteRule ^isso/(.*)$ http://127.0.0.1:63837/$1 [P]