我怎样才能制定这个重写规则,以便它可以接受查询字符串?
How can I make this rewrite rule so that it can accept querystring?
我有一个 url 使用 map 方法的重写规则。
<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>
我的问题是当我像下面这样使用这个页面时,出现错误:
/搜索?关键字=数学
我收到 HTTP 错误 404.0 - 未找到
详细错误信息:
模块 IIS Web 核心
通知 MapRequestHandler
处理程序静态文件
错误代码 0x80070002
请求 URL http://localhost:85/search?keyword=math
物理路径 D:\webs\V5ST\HTML\search
登录方法匿名
登录用户匿名
我怎样才能做到这一点,以便将任何查询字符串传递给 search.asp?
您可以使用以下重写规则:
<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>
此致,
贾尔帕
我有一个 url 使用 map 方法的重写规则。
<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>
我的问题是当我像下面这样使用这个页面时,出现错误:
/搜索?关键字=数学
我收到 HTTP 错误 404.0 - 未找到
详细错误信息: 模块 IIS Web 核心 通知 MapRequestHandler 处理程序静态文件 错误代码 0x80070002 请求 URL http://localhost:85/search?keyword=math 物理路径 D:\webs\V5ST\HTML\search 登录方法匿名 登录用户匿名
我怎样才能做到这一点,以便将任何查询字符串传递给 search.asp?
您可以使用以下重写规则:
<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>
此致, 贾尔帕