绿色资源网:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|论坛转帖|厂商大全

绿色资源网

技术教程
您的位置:首页服务器类Web服务器 → Windows 2008 R2 + IIS 7.5 Rewrite组件重写规则兼容方法

Windows 2008 R2 + IIS 7.5 Rewrite组件重写规则兼容方法

我要评论 2015/05/03 12:05:14 来源:绿色资源网 编辑:绿色资源网 [ ] 评论:0 点击:409次

随着越来越多云主机或者VPS普及Windows 2008 或者Windows 2008 R2,IIS 7.0或IIS 7.5的时代就来到了。本文以Windows 2008 R2为例,讲述如何把Windows 2003下IIS 6.0的Rewrite组件完美迁移到Windows 2008 R2当中。

Windows 2008 R2默认只有64位的,但是内置了支持32位的功能,就是说几乎所有在32位下能正常运行的软件都能正常运行在Windows 2008 R2当中,故不必担心PHP 5.2.17这个版本支持或不支持了。另外,有点需要注意的,Windows 2008 R2下,IIS版本是7.5,添加是在服务器管理面板中的“角色”,非“功能”哦,这点在刚接触2008 R2会有找不到……

IIS7.0开始就变成模块化了,需要什么就安装什么,当然也包括ASP支持,咱们用来运行PHP就把CGI也勾上。到时安装PHP的时候,就不用安装FastCGI了,因为已经内置了,这是跟Windows 2003不同的。

直奔主题吧,我们在Windows 2003下使用Rewrite组件,一般都有对应的httpd.ini规则包,在Apache下,则对应有.htaccess规则包。网上有不少方法让我们使用IIS 7.5的ULR Rewrite模块来进行导入原来的规则,导入的规则会在网站根目录生成web.config文件,里面保存的是根据导入生成的新规则,由于种种原因,导入的规则语法未必会100%能让IIS 7.5这个重写模块识别,导致导入的规则运行时候发生各种提示,包括无法生效,HTTP 500内部错误等等。

那有没有办法直接使用原来Windows 2003的伪静态规则包呢,答案是肯定的,Windows 2008 R2做的兼容性更高,没有Windows 2003莫名其妙的向上向下箭头,权限是一次性配置到位的。

在Windows 2008 R2的IIS 7.5的站点面板中,有个“ISAPI筛选器”模块,这个就是Windows 2003加载Rewrite组件的地方,接下来,你应该明白怎样加载了吧,同样道理,在这里把Rewrite.dll作为运行文件,加载到ISAPI筛选器,拿KingCMS地方门户v2.2举例,ISAPI筛选器Rewrite.dll会自动读取旁边的httpd.ini规则包。

一般而言,没实操过的教程就到此结束了,但是在实际操作当中,这样加载了Rewrite组件,还是无法生效。其实,原因也很明确,因为Windows 2008 R2是64位的,我们直接用在Windows 2003的Rewrite组件是32位的,所以要找到IIS 7.5加载的Rewrite组件如何在设置为32位兼容模式,经过狂点式搜查,终于在应用池那里找到了设置:

Windows 2008 R2 + IIS 7.5 Rewrite组件重写规则兼容方法

把启用32位应用程序设置为 True,然后再试试看。伪静态是不是生效了。

关键词:Windows 2008,IIS,Rewrite

阅读本文后您有什么感想? 已有 人给出评价!

  • 1 欢迎喜欢
  • 1 白痴
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙视