如何使用 IIS 重定向并获取查询字符串?

how to redirect using IIS and take the querystring?

我正在尝试在 IIS 中使用 URL 重写器,我使用以下角色从 http://mywebsite.com/panel/qr-member?id=85http://mywebsite.com/MemberInfo.aspx?MemberID=85 但它对我不起作用。

我按照这个 link 做到了,但完全没有成功

任何建议或帮助 谢谢并致以最诚挚的问候

您可以使用以下 URL 重写规则:

 <rule name="rewrite test">
                <match url="(.*)" />
                <conditions>
                    <add input="{REQUEST_URI}" pattern="/panel/qr-member" />
                    <add input="{QUERY_STRING}" pattern="id=(.*)" />
                </conditions>
                <action type="Rewrite" url="/MemberInfo.aspx?MemberID={C:1}" appendQueryString="false" logRewrittenUrl="true" />
            </rule>

MemberInfo.aspx 页的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MemberInfo.aspx.cs" Inherits="urlexample.MemberInfo" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
      <h1>URL Rewrite Module Test Page</h1>
      <table>
            <tr>
                  <th>Server Variable</th>
                  <th>Value</th>
            </tr>
            <tr>
                  <td>Original URL: </td>
                  <td><%= Request.ServerVariables["HTTP_X_ORIGINAL_URL"] %></td>
            </tr>
            <tr>
                  <td>Final URL: </td>
                  <td><%= Request.ServerVariables["SCRIPT_NAME"] + "?" + Request.ServerVariables["QUERY_STRING"] %></td>
            </tr>
      </table>
</body>
</html>