• 注册
  • 源码技术交流 源码技术交流 关注:19 内容:34

    windowsserver2008R2系统IIS7.5配置伪静态的方法

  • 查看作者
  • 打赏作者
    • 源码技术交流
    • LV_8
      管理

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

      下载地址:http://www.iis.net/download/URLRewrite或者//www.0598128.com/softs/479310.html

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

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

      IIS版本:IIS 7.5

      URL Rewrite组件:IIS URL Rewrite
      Module( 链接

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

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

      windowsserver2008R2系统IIS7.5配置伪静态的方法

        下载完成之后,安装重写模块。

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

      windowsserver2008R2系统IIS7.5配置伪静态的方法

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

      windowsserver2008R2系统IIS7.5配置伪静态的方法

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

      windowsserver2008R2系统IIS7.5配置伪静态的方法

        点击Add Rule(s)输入Rewrite重写规则。

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

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

      案例:

      很友好的URL地址,使访问的人很容易记住。要求你的用户记住“  www.0898128.com/article.aspx?id=342&;title=URL-Rewrite-Walkthrough”
      这样的网址并不是件很美妙的事。如果给用户提供如下URL地址:http://www.0598128.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”属性页如下图所示:

      windowsserver2008R2系统IIS7.5配置伪静态的方法

        规则的名称应该是唯一(不重复)的,匹配字符串“^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版本:http://www.iis.net/downloads/default.aspx?tabid=34&;g=6&i=1691

      x64版本:http://www.iis.net/downloads/default.aspx?tabid=34&;g=6&i=1692

      该模块(目前)只支持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位于网站项目的物理路径,如果没有自己生成一个就好。

      windowsserver2008R2系统IIS7.5配置伪静态的方法

      //设置的规则就卸载这里哟

      windowsserver2008R2系统IIS7.5配置伪静态的方法

        ………………

      windowsserver2008R2系统IIS7.5配置伪静态的方法

      //match 和 action中的url 均为正则表达式

      windowsserver2008R2系统IIS7.5配置伪静态的方法

        以上就是自己填写在web_config内容的规范了。

      第二种方法

      查看网站的功能模块,会发现IIS中有个【URL重写】

      windowsserver2008R2系统IIS7.5配置伪静态的方法

      windowsserver2008R2系统IIS7.5配置伪静态的方法

        现在都是英文版的了,以后微软可能会出中文版的,但很多人反映不是很好用。个人也更新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,都要将网站站点重启一下。这样就可以啦~~

       

      请登录之后再进行评论

      登录

      WordPress后台-外观-小工具 进行配置小工具

      帖子间隔 侧栏位置: