IIS7 URL重写转向(Rewrite)模块

IIS7 URL重写转向(Rewrite)模块目前已经可以使用,首个预览版已经发布,对于IIS7用户来讲是免费的。如果你说你喜欢用组件来实现?那微软也拿你没办法。不过应该还是有人需要的。

除了网页链接转化外,URL重写转向还可以优化Google的搜索排名,将动态网页链接rewriting成静态链接是最保险和稳定的面向搜索引擎优化方式(貌似已经被过滤)。

下载地址:

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

 

记性一直有问题 脑子总是间歇的傻掉 en 一直自以为vista带的是iis6 其实是iis7!!! 晕 微软官方出了url rewrite 安装使用超级方便 en!!!这个是解决事情最重要的一部分!!!

用了zend freamwork做事情 就要全部强制index.php做入口 当然你可以用index.php/controller/action 来访问 不过这样多少不是很顺眼 想起以前装rewrite很简单 今天竟然折腾了一上午 isapirewrite IIRF都用不上 改权限 改设置 弄死了 结果发现了这篇文章 http://be-evil.org/showlog-84.html 按照这个rewrite设置 终于搞定!!!

下面摘录重要部分!

转载文章源自思想之地 http://be-evil.org,作者:朦胧中的罪恶

安装好模块后,我们即可在网站的配置中看到 URL rewrite Module的选项

点击放大:

 

然后我们就进入到了重写规则管理页面:

 

点击Add Rule后我们即可进入添加规则页面:

详细功能解释参见图片:(不知道为什么该页面在我的系统中显示异常)

设定完毕之后点击右上角的"应用"即可保存该规则设定

下面介绍Zend Framework的重写设定

Requested URL 设定为"matches the pattern"

Using 设定为:"Regular Expressions"

Ignore Case 大小写敏感可以根据自己项目情况设定

Partten 设定为:

^(([\w]+/?)+)(?!\.html|\.js|\.css|\.gif|\.png|.jpg|.ico|\.txt)$

Rewrtie URL 设定为:

index.php/{R:1}

按照以上的设定后Zend Framework即可正常在IIS7下运行

下面是II7 webcofing的内容,将文件放到网站目录下即可同样实现重写规则,这点和Apache的.htaccess文件集为相似

 

代码如下
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3.     <system.webServer>
  4.         <rewrite>
  5.             <rules>
  6.                 <rule name="ImportedRule1">
  7.                     <match url="^(([w]+/?)+)(?!.html|.js|.css|.gif|.png|.jpg|.ico|.txt)$" negate="false" ignoreCase="true" />
  8.                     <action type="Rewrite" url="index.php/{R:1}" />
  9.                     <conditions logicalGrouping="MatchAny">
  10.                     </conditions>
  11.                 </rule>
  12.             </rules>
  13.         </rewrite>
  14.     </system.webServer>
  15. </configuration>

有话要说