【发布时间】:2012-11-10 23:54:23
【问题描述】:
我使用 IIS7 的 URL 重写模块 - 因为 URL 重写了几个静态文件。
基本上我将 /pretty-url 映射到 /real-file-name.html
到目前为止,它很简单。
但是在将查询字符串添加到漂亮的 url 之后,它会抛出 404 状态代码。到目前为止,我还没有找到任何解决此问题的方法。有什么建议,还是我做错了什么?
这里是配置:
<rewriteMaps>
<rewriteMap name="CoolUrls">
<add key="/pretty-url" value="/real-file.html" />
... and so on ...
</rewriteMap>
</rewriteMaps>
和:
<rules>
<clear />
<rule name="Rewrite rule for CoolUrls" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{CoolUrls:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" appendQueryString="true" />
</rule>
</rules>
任何带有查询的请求(在 ? 标记后的任何参数)都以 404 状态码结束。
【问题讨论】:
-
尝试将 appendQueryString 设置为 false 和其他相关选项。也许其他一些正则表达式模式只匹配没有参数的部分?
标签: iis iis-7 url-rewriting http-status-code-404 url-parameters