URL重写在查询字符串

时间:2015-08-07 16:13:31

标签: .htaccess iis rewrite query-string

我正在尝试制作重写规则,将我网站上的所有pdf移动到指向特定页面,然后使用查询字符串作为pdf的当前文件路径来查找一个字典,用于查看该URL是否在我的字典中,如果它是重定向到正确的页面。 catch是我的url字典有%20,当我拉出查询字符串时,它会转换空格中的%20。感谢您的帮助。

你能否重写它以使%20保持在查询字符串中?

示例网址:/example/example/Big%20Small%20Something%20Pad.pdf

我的重写:

RewriteRule ([^/]*)\.pdf$  /redirectPDF.aspx?pdf=$1.pdf [NE,QSA]

当前查询字符串输出:Big Small Something Pad.pdf

我希望它看起来像Big%20Small%20Someting%20Pad.pdf

1 个答案:

答案 0 :(得分:1)

尝试删除NE标记。根据ISAPI文件:
 http://www.helicontech.com/isapi_rewrite/doc/RewriteRule.htm

  

<强> noescape | NE

     

不要逃避输出。默认情况下,ISAPI_Rewrite会将所有非ANSI&gt;字符编码为输出中的%xx十六进制代码。

所以看起来你只想省略NE,以便它像默认情况下那样对输出进行编码。

RewriteRule ([^/]*)\.pdf$  /redirectPDF.aspx?pdf=$1.pdf [QSA]