我在linux上的apache后面的tomcat中有一个GWT应用程序。这使用从URL传递的参数来维护URL的入站状态。例如见:
https://www.example.com/#anchor1?param1=foo¶m2=bar
我使用第三方警报包将URL推送到客户端,但是将URL编码为
https://www.example.com/%23anchor1?param1=foo¶m2=bar
这意味着我收到404错误。
我已经搜索过高低的解决方案,并且没有明确的答案可行。
据我所知,我需要一个简单的规则,用URL中的#替换所有出现的%23,但似乎没有明确的共识可以起作用(相信我已经尝试了所有的东西)。 / p>
执行此操作的mod_rewrite规则是什么?
提前致谢。
答案 0 :(得分:2)
当mod_rewrite看到它时,#被解码。 Normal#永远不会发送到服务器,所以它很简单:
RewriteRule ^(.*#.*) /$1 [R,NE]
我假设浏览器需要#之后的内容,所以你必须重定向。 " NE"阻止#在出路时被编码。