如何配置IIS规则实现带参数的URL重定向?
IIS重定向规则设置指南(针对你的需求)
别担心,完全不熟悉IIS也没关系,我会一步步带你完成这个重定向规则的设置:
第一步:确认并安装URL重写模块
IIS默认没有自带URL重写功能,所以首先要确保你已经安装了这个模块:- 打开IIS管理器,在网站的功能视图里找「URL重写」;
- 如果找不到,点击IIS管理器右上角的「Web平台安装程序」,搜索「URL Rewrite」并安装(这是微软官方的免费工具,放心安装)。
第二步:创建空白重定向规则
进入你的目标网站的「URL重写」模块后:- 点击右侧操作栏里的「添加规则...」;
- 在弹出的窗口中选择「入站规则」下的「空白规则」,点击「确定」。
第三步:配置规则细节
在规则编辑页面,按以下内容填写:- 名称:随便起一个好记的名字,比如「News页面重定向规则」
- 匹配URL部分:
- 请求路径:选择「正则表达式」
- 模式:输入
^(.+)/News/(\d+)$解释一下这个正则:
^表示匹配URL开头,(.+)会捕获你说的$1部分(比如/2017/12/28/article-name),/News/是固定的匹配部分,(\d+)捕获数字格式的$2(比如19391);如果$2可能包含非数字字符,把(\d+)改成(.+)就行。 - 勾选「忽略大小写」
- 条件部分:不需要额外设置,直接跳过
- 操作部分:
- 操作类型:选择「重定向」
- 重定向URL:输入
http://mywebsite.com/redirects/?path={R:1}&id={R:2}这里的
{R:1}对应正则里第一个捕获的内容(也就是你的$1),{R:2}对应第二个捕获内容(你的$2) - 重定向类型:推荐选「永久(301)」(适合长期重定向,对SEO友好),如果是临时需求选「临时(302)」
- 取消勾选「追加查询字符串」(因为我们已经手动构建了目标URL的查询参数)
- 勾选「停止处理后续规则」(避免其他规则干扰这个重定向)
第四步:应用并测试
点击页面右侧的「应用」保存规则,然后打开浏览器输入你的测试URL(比如http://www.mywebsite.com/2017/12/28/article-name/News/19391),看看是否成功跳转到http://mywebsite.com/redirects/?path=/2017/12/28/article-name&id=19391。
如果测试失败,可以检查一下:
- 域名绑定是否正确,确保
www.mywebsite.com已经绑定到你的IIS网站; - 正则模式是否和你的URL格式完全匹配;
- URL重写模块是否正确安装并启用。
内容的提问来源于stack exchange,提问作者Mel Mills
相关产品推荐
相关产品推荐

