使用#impate_rewrite替换URL中的%23

时间:2015-11-25 16:26:18

标签: apache mod-rewrite gwt

我在linux上的apache后面的tomcat中有一个GWT应用程序。这使用从URL传递的参数来维护URL的入站状态。例如见:

https://www.example.com/#anchor1?param1=foo&param2=bar

我使用第三方警报包将URL推送到客户端,但是将URL编码为

https://www.example.com/%23anchor1?param1=foo&param2=bar

这意味着我收到404错误。

我已经搜索过高低的解决方案,并且没有明确的答案可行。

据我所知,我需要一个简单的规则,用URL中的#替换所有出现的%23,但似乎没有明确的共识可以起作用(相信我已经尝试了所有的东西)。 / p>

执行此操作的mod_rewrite规则是什么?

提前致谢。

1 个答案:

答案 0 :(得分:2)

当mod_rewrite看到它时,#被解码。 Normal#永远不会发送到服务器,所以它很简单:

RewriteRule ^(.*#.*) /$1 [R,NE]

我假设浏览器需要#之后的内容,所以你必须重定向。 " NE"阻止#在出路时被编码。