IIS伪静态URL重写规则入门
IIS有两种可以伪静态的工具,一个是UrlRewriter.dll的ISAPI组件,这种重写文件大多是httpd.ini文件,另外一种是iis官方的URL重写工具,今天主要简单介绍一个这个URL重写工具的规则:
它的图标和位置是这样的:
入站规则列表:
这里的规则就是做伪静态的规则,实际上它是一种301跳转。
比如我们打开其中一个规则:
我们可以看到两个关键的地方:
上图中第一红框处即是重写后的url格式的正则表达式。
^forum-(\w+)-([0-9]+).html这表达什么呢?我们这样理解:1.、这表达什么呢?我们这样理解:1.、 这表达什么呢? 我们这样理解: 1. ^、 作为标识了表达式的开头和结尾;
2. 第一个括号:(\w+),\w代表所有大小写字母、阿拉伯数字的匹配,“+”号代表任意长度,总体意义就是限定一个任意长字符串,全部由字母数字组成,前面中间后面都不能有空格、标点等。
3. 第二个括号:([0-9]+),代表任意长度的0-9的数字字符串。
4. 最后.html,\代表转义符,因为后面的“.”需要转义。
下面的第二处红框即代表了需要重写的URL的格式,即什么样的URL会被转移成第一处红框处的url格式。
forum.php?mod=forumdisplay&fid={R:1}&page={R:2}&{C:1}
这个URL中的{R:1}将代入到正则表达式中的第一个括号内,{R:2}将代入到第二个括号内。{C:1}是规则条件。
其中这种URL重写的工具,是匹配网站根目录下的web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer><rewrite><rules><rule name="已导入的规则 1"><match url="^topic-(.+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="portal.php?mod=topic&topic={R:1}&{C:1}" appendQueryString="false" /></rule><rule name="已导入的规则 2"><match url="^article-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="portal.php?mod=view&aid={R:1}&page={R:2}&{C:1}" appendQueryString="false" /></rule><rule name="已导入的规则 3"><match url="^forum-(\w+)-([0-9]+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="forum.php?mod=forumdisplay&fid={R:1}&page={R:2}&{C:1}" appendQueryString="false" /></rule><rule name="已导入的规则 4"><match url="^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="forum.php?mod=viewthread&tid={R:1}&extra=page\%3D{R:3}&page={R:2}&{C:1}" appendQueryString="false" /></rule><rule name="已导入的规则 5"><match url="^group-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="forum.php?mod=group&fid={R:1}&page={R:2}&{C:1}" appendQueryString="false" /></rule><rule name="已导入的规则 6"><match url="^space-(username|uid)-(.+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="home.php?mod=space&{R:1}={R:2}&{C:1}" appendQueryString="false" /></rule><rule name="已导入的规则 7"><match url="^blog-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="home.php?mod=space&uid={R:1}&do=blog&id={R:2}&{C:1}" appendQueryString="false" /></rule><rule name="已导入的规则 8"><match url="^archiver/(fid|tid)-([0-9]+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="archiver/index.php?action={R:1}&value={R:2}&{C:1}" appendQueryString="false" /></rule><rule name="品种分类"><match url="^forum-(\w+)-dogsort-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="forum.php?mod=forumdisplay&fid={R:1}&dogsort={R:2}&page={R:3}" appendQueryString="false" /></rule> <rule name="地区分类"><match url="^forum-(\w+)-dogarea-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="forum.php?mod=forumdisplay&fid={R:1}&dogarea={R:2}&page={R:3}" appendQueryString="false" /></rule><rule name="品种地区分类"><match url="^forum-(\w+)-dogsort-([0-9]+)-dogarea-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="forum.php?mod=forumdisplay&fid={R:1}&dogsort={R:2}&dogarea={R:3}&page={R:4}" appendQueryString="false" /></rule><rule name="品种地区子地区分类"><match url="^forum-(\w+)-dogsort-([0-9]+)-dogarea-([0-9]+)-dogareason-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="forum.php?mod=forumdisplay&fid={R:1}&dogsort={R:2}&dogarea={R:3}&dogareason={R:4}&page={R:5}" appendQueryString="false" /></rule><rule name="地区品种分类"><match url="^forum-(\w+)-dogarea-([0-9]+)-dogsort-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="forum.php?mod=forumdisplay&fid={R:1}&dogarea={R:2}&dogsort={R:3}&page={R:4}" appendQueryString="false" /></rule><rule name="地区子地区品种分类"><match url="^forum-(\w+)-dogarea-([0-9]+)-dogareason-([0-9]+)-dogsort-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="forum.php?mod=forumdisplay&fid={R:1}&dogarea={R:2}&dogareason={R:3}&dogsort={R:4}&page={R:5}" appendQueryString="false" /></rule><rule name="地区子地区"><match url="^forum-(\w+)-dogarea-([0-9]+)-dogareason-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" /></conditions><action type="Rewrite" url="forum.php?mod=forumdisplay&fid={R:1}&dogarea={R:2}&dogareason={R:3}&page={R:4}" appendQueryString="false" /></rule></rules></rewrite>
</system.webServer>
注意规则名称 rule name不可重名,否则网站会报错~
IIS伪静态URL重写规则入门相关推荐
- 【建站系列教程】6、.htaccess文件的url重写规则-网页伪静态化
[建站系列教程]6..htaccess文件的url重写规则-网页伪静态化 如何创建.htaccess文件? .htaccess是什么 htaccess语法教程 写在前面:大家好,我是热爱编程的小泽. ...
- IIS配置URL重写
IIS配置URL重写 一开始IIS配置伪静态,参考了 http://www.cnblogs.com/simoje/p/4764392.html http://www.cnblogs.com/Fooo/ ...
- zencart iis 伪静态设置 测试可用
IIS下如何实现静态化重写?特别是像zen cart等php类型的网站应该是经常碰到.一下教程也是网上找到的,实验下可以成功,这边分享下. 第一:首先我们需要下载一个ISAPI_Rewrite,有精简 ...
- Asp.Net MVC2.0 Url 路由入门---实例篇
本篇主要讲述Routing组件的作用,以及举几个实例来学习Asp.Net MVC2.0 Url路由技术. 接着上一篇开始讲,我们在Global.asax中注册一条路由后,我们的请求是怎么转到相应的Vi ...
- 详解IIS中URL重写工具的规则条件(Rule conditions)
本文结合官方文档和相关示例,详细记录了在IIS中URL重写工具下的规则条件(Rule conditions)的相关说明.规则条件允许我们通过额外的逻辑规则来过滤和匹配规则模式( rule patter ...
- 伪静态隐藏域名后缀_你想知道的动态URL、静态URl、伪静态URL概念及区别都在这里!...
[小宅按]我们说url的动态.静态.伪静态三种形式,其实从严格分类上来说,伪静态也是动态的一种,只是表现形式为静态. 参考:动态url.静态url和伪静态url的详细讲解 - 好文分享 动态URl 动 ...
- php html 伪静态,php 伪静态(url重写)的写法
来看下面这个网页 url: http://www.jbxue.com/test.php/1,100,8630.html 其实处理的脚本是test.php 参数为1,100,8630 相当于test.p ...
- 你想知道的动态URL、静态URl、伪静态URL概念及区别都在这里!
我们说url的动态.静态.伪静态三种形式,其实从严格分类上来说,伪静态也是动态的一种,只是表现形式为静态. 参考:动态url.静态url和伪静态url的详细讲解 - 好文分享 动态URl 动态页面的特 ...
- php如何生成伪静态url,thinkphp控制器(三) 伪静态及URL生成
URL伪静态通常是为了满足更好的SEO效果,ThinkPHP支持伪静态URL设置,可以通过设置URL_HTML_SUFFIX参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行.例 ...
最新文章
- 什么是生存分析(survival analysis)?
- python能处理图片吗_python图片处理(一)
- MySQL - 索引优化案例实操
- Linux内核模块的概念和基本的编程方法
- JS制作支付倒计时页面
- noj大作业c语言扫雷,noj大作业.doc
- python内置的数字运算函数_Python 内置函数1
- OpenCV读取多幅图片,读取系列图片,读取文件夹中指定图像类型的系列图片
- 3d效果图制作傻瓜软件_装修房子自己做3D效果图,哪些3D室内设计软件比较合适?...
- c语言程序设计流程图案例
- Intellij IDEA误删文件恢复
- 【放牛娃】奶盘seo自媒体文章伪原创系统
- PPT学习整理(五)编辑顶点
- HITNet: Hierarchical Iterative Tile Refinement Network for Real-time Stereo Matching--Google
- 宏基vn7-591g 固态硬盘安装
- 你跳槽怎样考虑可持续性发展
- 马克思主义句句是名言
- (十五)路过师大 - 5
- Java Double类型精确运算解决
- mastercam2022新版本 新功能
热门文章
- Spring源码深度分析一-Spring前世今生以及源码学习路线图
- HFSS入门 T型波导模型优化
- 安装Citrix Workspace报错提示NET Framework 4.6.2 or late:Error Code:5100
- go语言,安装包fetch error 问题解决方案
- 响应式编程项目中总结
- jmeter 察看结果树
- UOS操作系统重置开机密码
- oracle学生选课查询(学生表student、成绩表sc、课程表c)
- SIEMENS/西门子1214 PID/通信模板 西门子P SIEMENS/西门子1214 PID/通信模板
- PMI-PMP®远程模考三 正题数