我试图发出一个redirect的目的地包含片段标识符的一部分。 我试着用这个规则:
RewriteRule ^/foo/bar/([^/]+)/(.*)$ /cgi/script#foobar::$1.$2 [R,L]
然而, #
被转换为%23
,而Web应用程序无法正确parsing这个URL。 我如何强制Apache保持#
字符?
找到解决方案:有一个选项不能用mod_rewrite转义URL:
https://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_ne
添加[NE]标志解决了问题。