【发布时间】:2013-09-22 05:19:37
【问题描述】:
我正在使用带有 mod_rewrite 的 Apache mod_proxy 来屏蔽查询字符串中的一些凭据。日志显示重写规则工作正常,但端口号 (:9000) 被剥离,导致代理拒绝 URL。除了安全讲座和与手头实际问题无关的任何其他内容,谁能告诉我解决方案可能是什么?
基本示例:
RewriteCond %{QUERY_STRING} ^(.*)userid=fakepass(.*)
RewriteRule ^(.*)$ $1?%1userid=realpass%2
原网址:https://domain.com:9000/somedirectory/request.jsp?userid=theuser&password=fakepass
目标网址:: https://domain.com:9000/somedirectory/request.jsp?userid=theuser&password=realpass
mod_rewrite 后的实际结果: https://domain.com/somedirectory/request.jsp?userid=theuser&password=realpass
【问题讨论】:
-
这是您的完整 .htaccess 吗?在此处发布您的完整 .htaccess。
-
其实是在虚拟主机上工作,但是在这里她吹了。对SO来说太长了。这是一个粘贴箱链接。 pastebin.com/0ctSEDjB
-
你有没有整理过这个问题?我遇到了同样的事情......
-
我做到了。通过服务器(本地或远程)运行页面时,会自动添加前缀。此处设置非常简单的本地服务器:github.com/indexzero/http-server
-
我遇到了同样的问题 - 文档说在相对 url 的情况下端口将成为 prepender - 为什么它不是,我不知道;/另一方面,示例看起来像
http://thishost[:thisport]这可能表明 [thisport] 是可选的 0 - 但如果是这样,那么依赖关系是什么?
标签: apache .htaccess mod-rewrite url-rewriting mod-proxy