Windows 2008 R2 + IIS 7.5 Rewrite组件重写规则兼容方法
随着越来越多云主机或者VPS普及Windows 2008 或者Windows 2008 R2,iis7.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当中,故不必担心php5.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位兼容模式,经过狂点式搜查,终于在应用池那里找到了设置:
把启用32位应用程序设置为 True,然后再试试看。伪静态是不是生效了。
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
- 1CSS控制文字在Div最底部显示
- 2Thinkphp5如何配置IP+端口访问项目模块
- 3elementUI el-dialog弹框居中
- 4教你如何搭建及优化站点
- 5国内互联网视频行业运营分析
- 6service mysql start出错,mysql不能启动,解决mysql: unrecognized service错误
- 7CSS实现悬浮顶部的Div工具栏
- 8记一次Thinkphp5.1框架mysql数据库崩溃(SQLSTATE [08004] Too many connections)
- 9连接SQL Server数据库提示:Login failed for user 'sa'错误的解决方案
- 10Thinkphp3.2在centos7上设置计划任务的方法