在.htaccess搜索中使用井号(#)

时间:2011-10-21 20:25:34

标签: html .htaccess search ascii hashtag

所以这个的主旨是, 我有一个文件:

search.php

当我转到:

search.php?search=%23HashTag

搜索返回:#HashTag

但是当我使用我的.htaccess方法时:

/search/%23HashTag

没有返回任何内容。我已经通过在搜索中稍后放置数字符号进行测试,然后返回到该点。

这就是我所拥有的:

RewriteRule ^search/([^\.]+)$ search.php?search=$1 [NE,L]

我做错了什么..?

2 个答案:

答案 0 :(得分:3)

将您的旗帜更改为[NE,B,L]

http://httpd.apache.org/docs/current/rewrite/flags.html#flag_b

mod_rewrite在应用转换之前对url进行unescapes。我不确定为什么它会在哈希之后丢失任何东西(也许它会将其重新解释为url,并丢弃该片段?)。在任何情况下,[B]在通过重写规则运行之前重新转义URL。

答案 1 :(得分:0)

\%23替换它可以正常工作吗?

(清晰度:反对在.htaccess文件中写#)