当前位置 主页 > 服务器问题 > win服务器问题汇总 >
从网上找了一下,原来微软IIS官方网站给IIS7及以后续版本提供了个URL重写组件。
下载地址:http://www.iis.net/download/URLRewrite或者//www.iis7.com/softs/479310.html
首先,打开上面网址,到IIS官方网站下载模块。
根据需要,点击右侧的下载链接(操作系统是64位的,就下载x64版本;32位的系统,就下载x86版本)
IIS版本:IIS 7.5
URL Rewrite组件:IIS URL Rewrite Module(http://www.iis.net/downloads/microsoft/url-rewrite)
根据需要,点击右侧的下载链接(操作系统是64位的,就下载x64版本;32位的系统,就下载x86版本)
注意的是,目前安装的版本都是英文的了。
下载完成之后,安装重写模块。
下载的是本地msi包(rewrite_amd64.msi或者rewrite_x86.msi),双击安装即可(安装之前最好先停止IIS服务,如果IIS服务没停的话,安装完成后会要求重启系统。)
安装完成后,打开“Internet 信息服务(IIS)管理器”,就可以看见模块中多了一个Url Rewrite 模块。
进入需要设置的站点,双击 Url Rewrite 图标,进入设置界面。
点击Add Rule(s)输入Rewrite重写规则。
确认无误后,点击右栏的“应用”按钮,大功告成
当然你也可以从原来配置的伪静态文件导入:支持isapi的httpd.ini或.htaccess
案例:
很友好的URL地址,使访问的人很容易记住。要求你的用户记住“ //www.iis7.com/article.aspx?id=342&;title=URL-Rewrite-Walkthrough” 这样的网址并不是件很美妙的事。如果给用户提供如下URL地址:http://www.pipima.com/article/342/URL-Rewrite-Walkthrough,就能更好引起共鸣和更容易被记住。
通过IIS URL Rewrite 模块( URL Rewrite module)你可以很方便建立这一逻辑而不需要修改正在使用的Rewrite Maps代码.我将告诉你从IIS管理器里来实现。打开IIS管理器,选择“Default Web Site”,在“功能视图”单击“URL Rewrite”,然后在“操作”栏,单击“Add Rules…”,在“select a rule templates”对话框选择“Blank rule”,将打开“edit rule”属性页,按如下步骤定义实际的重写规则(rewrite rule):
1、规则名称。
2、匹配URL字符串所使用的模式。
3、设置条件选项。
4、模式匹配和所有条件检查成功后执行的操作。
为了实现下面的例子,“edit rule”属性页如下图所示:
规则的名称应该是唯一(不重复)的,匹配字符串“^article/([0-9]+)/([_0-9a-z-]+)”是正则表达式,将匹配满足一下标准的任何URL字符串:
1、开始于“article/”字符序列。
2、在“/”后包含一个或多个数字字符。
3、在第二个“/”后包含一个或多个字母或“_”或“-”。
因为我们创建一个支持重写URL的规则,因此规则类型是“Rewrite“。重写字符串(Rewrite UR)“article.aspx?id={R:1}&title={R:2}”指定一个新值用于输入被重写的URL。参数我们使用“ {R:1} ”和“{R:2}”,他们将返回一组通过规则匹配定义的引用(reference)。关于返回引用( back reference)你可以参考:URL Rewrite Module Configuration Reference,有关创建重写规则的更多内容见:Creating rewrite rules for the URL Rewrite Module