0

我整天都在尝试为 IIS 中的 URL 重写制定规则,但我的规则都不起作用..

我想重写 url 来转换这些类型的 Url

http://localhost:2811/Search/S%2fqIMmjstZg%3d/VehicleDetails.aspxhttp://localhost:2811/Search/VehicleDetails.aspx?mid=S%2fqIMmjstZg%3d

http://localhost:2811/Search/yYut%2f%2fBrHa8%3d/VehicleDetails.aspxhttp://localhost:2811/Search/VehicleDetails.aspx?mid=yYut%2f%2fBrHa8%3d

http://localhost:2811/Search/nNLApdJeWJI%3d/VehicleDetails.aspxhttp://localhost:2811/Search/VehicleDetails.aspx?mid=nNLApdJeWJI%3d

具有以下重写规则

<rewrite>
        <rules>
            <rule name="QueryString">
                <match url="^Search/([_0-9a-z-%=\+\$]*)$/VehicleDetails.aspx" />
                <action type="Rewrite" url="Search/VehicleDetails.aspx?mid={R:1}" appendQueryString="true" />
            </rule>
        </rules>
    </rewrite>

但它不起作用..请帮助!!!

4

1 回答 1

3

你有错误的模式。我建议你遵循:

/Search/([^/]*)/VehicleDetails.aspx$

现在解释(从最后)

  1. /VehicleDetails.aspx$ - 静态文本,位于字符串末尾
  2. ([^/]) - 除了“/”之外的所有内容
  3. /Search/- 静态文本(您可以尝试在乞求中添加 ^,但要小心 / 之后)
  4. 您可以在 IIS UI 中测试您的表达式:在此处输入图像描述
于 2013-06-27T14:27:41.780 回答