使用mod_rewrite将带有散列字符的path转换为查询string
我有一个PHP项目,我需要在URL的path中发送哈希字符(#)。 ( http://www.example.com/parameter#23/parameter#67/index.php )我以为urlencode会允许,将散列转换为%23
但是现在我看到,甚至urlencoded哈希都强制浏览器将所有东西都作为URL片段(或查询)来处理。
有没有办法通过一个哈希,或者我需要做urlencode之前的字符replace?
编辑添加(2017年9月19日):
原来我是在问错误的问题。 我的问题不是在path中使用散列字符(对其进行编码),而是使用mod_rewrite将其转换为查询string。 我没能在RewriteRule中重新编码它。 我将编辑标题以匹配。
这是我正在使用的重写规则:
RewriteEngine On # convert path strings into query strings RewriteRule "^(.*)/(.*)/hashtags.php" /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L]
一旦我添加了B标签,它正常工作:
RewriteEngine On # convert path strings into query strings RewriteRule "^(.*)/(.*)/hashtags.php" /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L,B]
使用%23在URL中编码哈希
http://twitter.com/home?status=I+believe+in+%23love
“我相信爱情”
url编码参考: http : //www.w3schools.com/tags/ref_urlencode.asp