是的,你写的是 url 重写是可能的。
您需要使用 IIS 管理器中的 URL 重写 UI 创建重写规则
步骤是:
转到 IIS 管理器。
选择默认网站。
在功能视图中单击 URL 重写。
在右侧的“操作”窗格中,单击“添加规则”。
在“添加规则”对话框中,选择“空白规则”并单击“确定”。
现在您必须定义实际的重写规则。在 URL 重写模块中,重写规则是通过指定四个必需的信息来定义的:
规则的名称。
用于匹配 URL 字符串的模式。
可选的一组条件。
模式匹配以及所有条件检查是否成功时执行的操作。
命名规则
在“名称”文本框中,输入唯一标识规则的名称,例如:“Rewrite to article.aspx”。
定义模式
在模式文本框中,输入以下字符串:^article/([0-9]+)/([_0-9a-z-]+)
此字符串是一个正则表达式,指定该模式将匹配任何满足以下条件的 URL 字符串:
以字符序列“article/”开头。
在第一个“/”之后包含一个或多个数字字符。
在第二个“/”之后包含一个或多个字母数字或“_”或“-”字符。
请注意,正则表达式的某些部分在括号内。这些括号创建捕获组,以后可以使用反向引用在规则中引用。
定义一个动作
由于我们创建的规则应该重写 URL,因此请选择操作组框中列出的重写操作类型。在重写 URL:文本框中,输入以下字符串:article.aspx?id={R:1}&title={R:2}
此字符串指定输入 URL 应重写为的新值。请注意,对于查询字符串参数的值,我们使用了 {R:1} 和 {R:2},它们是对规则模式中使用括号定义的捕获组的反向引用。
为所有其他设置保留默认值。编辑入站规则属性页应该是技术图片Here
查看配置文件中的重写规则
重写规则存储在 ApplicationHost.config 文件或 Web.config 文件中。要检查我们刚刚创建的规则的配置,请打开位于 %SystemDrive%\inetput\wwwroot 中的 Web.config 文件。在此文件中,您应该会看到包含此规则定义的部分:
<rewrite><rules>
<rule name="Rewrite to article.aspx">
<match url="^article/([0-9]+)/([_0-9a-z-]+)" />
<action type="Rewrite" url="article.aspx?id={R:1}&title={R:2}" />
</rule>
</rewrite>
测试重写规则
要测试规则是否正确重写 URL,请打开 Web 浏览器并请求以下 URL:
http://localhost/article/234/some-title
您应该看到您的 Web 服务器上的重写规则已将原始 URL 更改为 Article.aspx,并且它已将“234”和“some-title”作为查询字符串参数的值传递。