伪静态web.config常见规则写法与参数介绍说明.
示例1:
<?xml version="1.0" encoding="UTF-8"?>
<configuration><system.webServer><rewrite><rules><rule name="规则 1" stopProcessing="true"><match url="^includes/(.*)" /><action type="Rewrite" url="includes\/{R:1}" /></rule><rule name="规则 2" stopProcessing="true"><match url="^(blog)/includes/(.*)" /><action type="Rewrite" url="{R:1}/includes\/{R:2}" /></rule><rule name="规则 3" stopProcessing="true"><match url="^(blog)/(.*).html(.*)" /><action type="Rewrite" url="{R:1}/index.php\/{R:2}.html{R:3}" /></rule><rule name="规则 4" stopProcessing="true"><match url="^(.*).html(.*)" /><action type="Rewrite" url="index.php\/{R:1}.html{R:2}" /></rule></rules></rewrite></system.webServer>
</configuration>
示例2:
<?xml version="1.0" encoding="UTF-8"?><configuration><system.webServer><rewrite><rules><rule name="Imported Rule 1"><match url="list-([0-9]+)\.html" ignoreCase="false"/><action type="Rewrite" url="plus/list.php?tid={R:1}" appendQueryString="false"/></rule><rule name="Imported Rule 2"><match url="list-([0-9]+)-([0-9]+)-([0-9]+)\.html" ignoreCase="false"/><action type="Rewrite" url="plus/list.php?tid={R:1}&TotalResult={R:2}&PageNo={R:3}" appendQueryString="false"/></rule><rule name="Imported Rule 3"><match url="view-([0-9]+)-([0-9]+)\.html" ignoreCase="false"/><action type="Rewrite" url="plus/view.php?arcID={R:1}&pageno={R:2}" appendQueryString="false"/></rule></rules></rewrite></system.webServer></configuration>
示例3:
<?xml version="1.0" encoding="UTF-8"?><configuration><system.webServer><rewrite><rules><rule name="portal_topic"><match url="^(.*/)*topic-(.+).html\?*(.*)$"/><action type="Rewrite" url="{R:1}/portal.php?mod=topic&topic={R:2}&{R:3}"/></rule><rule name="portal_article"><match url="^(.*/)*article-([0-9]+)-([0-9]+).html\?*(.*)$"/><action type="Rewrite" url="{R:1}/portal.php?mod=view&aid={R:2}&page={R:3}&{R:4}"/></rule><rule name="forum_forumdisplay"><match url="^(.*/)*forum-(\w+)-([0-9]+).html\?*(.*)$"/><action type="Rewrite" url="{R:1}/forum.php?mod=forumdisplay&fid={R:2}&page={R:3}&{R:4}"/></rule><rule name="forum_viewthread"><match url="^(.*/)*thread-([0-9]+)-([0-9]+)-([0-9]+).html\?*(.*)$"/><action type="Rewrite" url="{R:1}/forum.php?mod=viewthread&tid={R:2}&extra=page%3D{R:4}&page={R:3}&{R:5}"/></rule><rule name="group_group"><match url="^(.*/)*group-([0-9]+)-([0-9]+).html\?*(.*)$"/><action type="Rewrite" url="{R:1}/forum.php?mod=group&fid={R:2}&page={R:3}&{R:4}"/></rule><rule name="home_space"><match url="^(.*/)*space-(username|uid)-(.+).html\?*(.*)$"/><action type="Rewrite" url="{R:1}/home.php?mod=space&{R:2}={R:3}&{R:4}"/></rule><rule name="home_blog"><match url="^(.*/)*blog-([0-9]+)-([0-9]+).html\?*(.*)$"/><action type="Rewrite" url="{R:1}/home.php?mod=space&uid={R:2}&do=blog&id={R:3}&{R:4}"/></rule><rule name="forum_archiver"><match url="^(.*/)*(fid|tid)-([0-9]+).html\?*(.*)$"/><action type="Rewrite" url="{R:1}/index.php?action={R:2}&value={R:3}&{R:4}"/></rule><rule name="plugin"><match url="^(.*/)*([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+).html\?*(.*)$"/><action type="Rewrite" url="{R:1}/plugin.php?id={R:2}:{R:3}&{R:4}"/></rule></rules></rewrite></system.webServer></configuration>
提示1、<rule>
节点的name不能重复。
提示2、<match>
里的url是一个正则表达式,实例里^(.*)t/([0-9,a-z]*)
是一个常用的句式。
^
匹配域名开头,如:https://tony.8952.com/
,注意域名后面有个斜杠/
。
(.*)
匹配任何字符。
([0-9,a-z]*)
匹配任何数字和字母。
因此,^(.*)t/([0-9,a-z]*)
可以匹配如下的访问网址(假如网站域名是tony.8952.com
):
提示3、<action type="Rewrite" ...>
表示执行的类型是重写,里面的url是实际网址,{R:1}/list.asp?id={R:2}
的解释如下:
{R:1}
对应<match>
里的url的第一个括号内容,{R:2}
对应<match>
里的url的第二个括号内容,如果有{R:3}
、{R:4}
,如此类推。
所以,如果假如用户访问的网址是
http://tony.8952.com/t/123
http://tony.8952.com/news/t/a1
那么,其对应的实际网址是
http://tony.8952.com/list.asp?id=123
http://tony.8952.com/news/list.asp?id=a1
提示4、按照上面的解释,你应该差不多能读懂实例的rule2重写规则了。
$
,这是个结束符,表示匹配的url到此结束,后面没有其他字符了。
([0-9]+)
表示匹配任何数字。
\.html
表示匹配 .html
。
\?
表示匹配一个问号?
。
特别要注意,反斜杠\
是转义符,因为正则表达式里,一点.
是表示匹配任何字符的意思,所以要加上反斜杠对其转义,这样才表示匹配的是一个点.
。
同样地,问号?
也是一个元符号,它表示匹配前面的子表达式零次或一次,因此,也需要在其前面加上转义符\
,这才表示匹配的是一个问号?
。
提示5、其他
ignoreCase="false"
表示不能忽略大小写,如果该值设为true
,则表示忽略大小写。
appendQueryString="false"
表示不使用url参数。
MR虚拟直播
- MR直播实例(混合现实直播)高品质企业直播
- 企业年会直播来个虚拟舞台场景如何?
- MR直播(混合现实直播)做一场高品质企业培训
- MR场景直播-帮助企业高效开展更有意思的员工培训
- 企业多会场视频直播(主会场、分会场直播)实例效果
- 虚拟直播(虚拟场景直播)要怎么做?
无延迟直播
- 无延时直播/超低延时直播画面同步性测试(实测组图)
- 搞定企业视频直播:硬件设备、直播网络环境和设备连接说明
- 无延时/无延迟视频直播实例效果案例
- OBS无延迟视频直播完整教程(组图)
- 毫秒级超低延时直播产品实测(PRTC直播/webRTC直播)
视频加密与安全
- 企业培训视频如何防止被下载和盗用?
- 在线教育机构视频加密防下载和防盗用的方法有哪些可以借鉴
- 上新:视频加密功能增加防录屏(随机水印)功能
- 两种实现视频倍速播放的方法(视频播放器倍速1.5x/2x)
- 教育培训机构教学课程内容视频加密是如何做的?
在线导播台
- 在线导播台(网页导播台)混流效果
- OBS Studio导播台多画面使用实测
- 软件导播台多画面切换支持多人连麦实测(实测组图)