我有一个使用map方法的url重写规则。
<rewriteMap name="Pages">
<add key="/search" value="/search.asp" />
</rewriteMap>
<rule name="Rewrite rule1 for Pages">
<match url=".*" />
<conditions>
<add input="{Pages:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" appendQueryString="true" />
</rule>
我的问题是,当我使用如下所示的页面时,出现错误:
/ search?keyword =数学
我收到HTTP错误404.0-未找到
详细的错误信息: IIS Web核心模块 通知MapRequestHandler 处理程序StaticFile 错误代码0x80070002 要求的网址http://localhost:85/search?keyword=math 物理路径D:\ webs \ V5ST \ HTML \ search 登录方法匿名 登录用户匿名
如何做到这一点,以便将任何查询字符串传递给search.asp?
答案 0 :(得分:1)
您可以使用以下重写规则:
<rule name="query string redirect" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{REQUEST_URI}" pattern="search\?(.*)" />
</conditions>
<action type="Rewrite" url="http://localhost:132/search.asp?{C:1}" appendQueryString="false" />
</rule>
关于, 贾帕(Jalpa)