【发布时间】:2009-08-18 00:15:47
【问题描述】:
我需要采用标准的传入 url 并 rewrite 将它们重定向到单个页面上的特定锚点(传入的 html 页面名称成为锚点名称)。例如,规则是这样的:
RewriteRule ^files/([a-zA-Z0-9\-_]+)\.html$ /test.html#$1 [R]
所以这个网址:
http://foo.com/files/bar.html
...会变成:
http://foo.com/test.html#bar
规则本身运行良好,但 # 字符在浏览器地址栏中被编码为:
http://foo.com/test.html%23bar
这当然不能作为锚正常工作。 .htaccess 中有没有办法强制它不对哈希进行编码?我也尝试过像\# 一样转义它,但这没什么区别。
【问题讨论】:
标签: mod-rewrite encoding url-rewriting