IIS使用 URL Rewrite Module 2.0组件 设置伪静态的方法
简体中文版WIn10无法安装,需要改注册表,
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp
MajorVersion 项,这个也是 dword 值 10(注意是十进制),把它改成9。
URL Rewrite Module 2.0
主页 有下载地址和相关使用文档
http://www.iis.net/downloads/microsoft/url-rewrite
双击下载完成的文件,下一步、下一步到安装完成
重新打开IIS发现多了个URL Rewrite项,打开全E文呀,不用怕其实配置还是很简单的……
如果我们要添加一个伪静态规则那么点击Add Rules,选择 Blank rule
我们只需要填写三个部分
name是这个规则的名称,可以随便取一个
Pattern是匹配规则
Action Properties是真实的地址
还有个Test pattern是用来测试匹配规则是否正确,例如我想测试一下^category/(.+)\.html$ 这个匹配设置,Test Results还很贴心的给出了匹配结果和我们需要的参数列表,其中 {R:1}就是我想要的参数,可以在 Rewrite URL中使用: cn/index.php?o={R:1} 是不是很简单~
顺便提一下:我在测试的时候不小心在正则表达式后面多加了个空格,结果总是匹配失败,所以大家要注意匹配规则的正则表达式前后不要带空格~
URLRewrite的规则
^category/(.+)\.html$ cn/index.php?o={R:1}
^substance/(.+)_(.+)\.html$ cn/index.php?o={R:1}&id={R:2}
熟悉了规则我们可以不用这个工具自己手工写URL匹配规则了,在网站根目录下修改web.config文件,system.webServer节点下增加rewrite项,修改内容为:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="category"> <match url="^category/(.+)\.html$" /> <action type="Rewrite" url="cn/index.php?o={R:1}" /> </rule> <rule name="substance"> <match url="^substance/(.+)_(.+)\.html$" /> <action type="Rewrite" url="cn/index.php?o={R:1}&id={R:2}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)