查询字符串中带有锐字符的apache重定向规则

查询字符串中带有锐字符的apache重定向规则,apache,redirect,url-rewriting,special-characters,Apache,Redirect,Url Rewriting,Special Characters,我有一个表单的旧url:。构建url的人并不意味着尖锐字符是页面的实际锚定符,它是title param值内的特殊字符;标题实际上是“foobar#9” 现在我需要创建一个重写规则。使用以下命令: RewriteCond %{query_string} ^title=foobar#9$ RewriteRule ^/foo.php$ http://example.com/test? [R=301,L] 这种情况从来都不匹配。使用以下命令 RewriteCond %{query_string}

我有一个表单的旧url:。构建url的人并不意味着尖锐字符是页面的实际锚定符,它是title param值内的特殊字符;标题实际上是“foobar#9”

现在我需要创建一个重写规则。使用以下命令:

RewriteCond %{query_string} ^title=foobar#9$
RewriteRule  ^/foo.php$ http://example.com/test?  [R=301,L]
这种情况从来都不匹配。使用以下命令

RewriteCond %{query_string} ^title=foobar%239$
RewriteRule  ^/foo.php$ http://example.com/test?  [R=301,L]

该条件仅在url实际编码时匹配()。我有没有办法让用户点击(非编码的)url链接并匹配条件(重写规则生效)?

我不确定这是否可行。
#
通常只由浏览器解释

浏览器实际上不会将此字符发送到Web服务器(除非已编码),因此您的规则永远不会匹配

这是我在尝试时看到的日志行:

127.0.0.1---[2014年4月15日]“GET/?title=foobar HTTP/1.1“200 466”-”

请注意,请求中完全缺少
#9