我的httpd.conf文件中有以下行
ProxyPass / something http://localhost:9080/servlet/StubEndpoint?stub=stub
系统以
响应请求的资源(/ servlet / StubEndpoint%3Fstub = stub /)不可用,即它替代?与%3F。我该如何解决这个问题?这个问号似乎被“%3F”代替,我回到了404
答案 0 :(得分:2)
来自ProxyPass的文档:
url is a partial URL for the remote server and cannot include a query string.
在您的示例中,stub=stub
是查询字符串。 %3F替换是URL encoding的一部分。
您可以代理到一个URL,然后将其重定向到最终目的地(使用查询字符串),例如:
ProxyPass /something http://localhost:9080/proxy
RewriteEngine on
RewriteRule ^/proxy /StubEndpoint?stub=stub
这会导致任何以/ something开头的URL返回重定向到StubEndpoint?stub = stub。但是我自己没有测试过。
答案 1 :(得分:1)
我喜欢在位置分组。我的工作解决方案是:
<Location /something>
RewriteEngine On
RewriteRule ^ http://localhost:9080/servlet/StubEndpoint?stub=stub [P]
</Location>