欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)

程序员文章站 2022-04-19 11:09:45
从网上找了一下,原来微软iis官方网站给iis7及以后续版本提供了个url重写组件。 下载地址:http://www.iis.net/download/urlrewrit...

从网上找了一下,原来微软iis官方网站给iis7及以后续版本提供了个url重写组件。

下载地址:http://www.iis.net/download/urlrewrite或者

首先,打开上面网址,到iis官方网站下载模块。

根据需要,点击右侧的下载链接(操作系统是64位的,就下载x64版本;32位的系统,就下载x86版本)

iis版本:iis 7.5

url rewrite组件:iis url rewrite module()

根据需要,点击右侧的下载链接(操作系统是64位的,就下载x64版本;32位的系统,就下载x86版本)

注意的是,目前安装的版本都是英文的了。

windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)

下载完成之后,安装重写模块。
下载的是本地msi包(rewrite_amd64.msi或者rewrite_x86.msi),双击安装即可(安装之前最好先停止iis服务,如果iis服务没停的话,安装完成后会要求重启系统。)

windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)

安装完成后,打开“internet 信息服务(iis)管理器”,就可以看见模块中多了一个url rewrite 模块。

windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)

进入需要设置的站点,双击 url rewrite 图标,进入设置界面。

windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)

点击add rule(s)输入rewrite重写规则。

确认无误后,点击右栏的“应用”按钮,大功告成

当然你也可以从原来配置的伪静态文件导入:支持isapi的httpd.ini或.htaccess

案例:

很友好的url地址,使访问的人很容易记住。要求你的用户记住“ //www.jb51.net/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”属性页如下图所示:

windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)

规则的名称应该是唯一(不重复)的,匹配字符串“^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
一个很重要的就是url rewrite模块是需要被安装才可以工作,你可以如下两个版本:
x86版本:
x64版本:
该模块(目前)只支持iis7.0,你应该运行iis7.0有利于使用它。如果你的项目是使用visual studio for web developers开发,那么项目应该配置成在iis7.0下运行,而不是其他的web服务器。
有关url rewrite模块的详细内容见:http://learn.iis.net/page.aspx/460/using-url-rewrite-module/

注意:

第一种方法是在web.config中进行编码
web.config位于网站项目的物理路径,如果没有自己生成一个就好。

windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)
//设置的规则就卸载这里哟

windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)
..................

windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)
//match 和 action中的url 均为正则表达式

windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)
以上就是自己填写在web_config内容的规范了。

第二种方法
查看网站的功能模块,会发现iis中有个【url重写】

windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)

windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)

现在都是英文版的了,以后微软可能会出中文版的,但很多人反映不是很好用。个人也更新isapi_rewrite也挺好用的。

点击进入之后,最右侧一列发现【导入规则】
[转载]windows server 2008r2系统  iis7.5配置伪静态页面
进入就可以引入规则文件了。不过要注意的是规则文件的格式为.htaccess。其中的映射规则还是要自己写的。样式如下:
rewriteengine  on
# url规则(#为注释符号哟)
rewriterule  ^index.html$                       index.php [l]
rewriterule ^product-cat-([0-9]+)-([0-9]+).html$    product.php?mod=list&cid=$1&page=$2 [l]
#意思是前面的html会映射到后面的文件中。rewriterrule的两个链接(勉强称之为链接)都是正则表达式的写法。如果不了解正则表达式,就自己看看吧,嘿嘿

导入成功后,右侧上方的【应用】要记得点一下哈,这样代码就自动声称到web.config中去了

最后一步,无论手写config还是通过htaccess,都要将网站站点重启一下。这样就可以啦~~