我需要采用标准的传入url和
重写
重定向它们以在单个页面上定位特定的锚点(传入的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中有没有办法强制它不对散列进行编码?我也尝试像\#
一样逃脱它,但这没有什么区别。
真棒,谢谢。我认为它必须是简单的东西,但谷歌没有告诉我的方式;) – 2009-08-18 01:03:32