<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="如何正确使用IIS Rewrite部署PHPWind 在Windows下的伪静态。" id="card1">
<p> 游客</p><p>
标题:如何正确使用IIS Rewrite部署PHPWind 在Windows下的伪静态。<br/>
正文:<br/>
自从在某次会上被 PHPWind 现在灌输些东西后，一直想找个时间来体验一下。PHPWind 7.5 SP3 发布之时，就上了一个站，因为是Windows下的IIS，在进行静态目录部署时出现问题。必须手动在IIS上安装Rewrite模块。于是在Helicon Tech.公司官方网站下载了ISAPI_Rewrite 3 Lite 。安装之后发现该免费版本只可以作用于全局，而无法每个站点独立的配置，放弃之。最后在中国站长网找到一个版本非常不错，支持每个站点根目录放置 httpd.ini 配置文件。经过一翻捣鼓，总算是把伪静态给成功启用了，其中一些注意的地方给大家分享一下，如果你正在做这件事或者会少走点弯路：1、安装好 ISAPI_Rewrite 0053 并授权之后在你的站点根目录放置一个httpd.ini 并将规则配置好，规则配置格式参照安装目录内的该文件。2、如果访问伪静态地址还是404错误的话，你就要注意这里了，PHPWind 7.5 SP3 官方提供的 Apache下的默认规则 RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 这在 IIS Rewrite 模块的不同版本下情况使用方法有异。我没有测试哪个版本可以直接使用这条规则，但至少在2.7或者更低的版本下是不行的，需要改成：RewriteRule ^(.*)-htm-(.*)$ $1\.php\?$2  才可成功启用。在找到相关社区的提示后我才想起我的一个程序达人朋友去年帮我解决程序问题时顺便提到，这种Rewrite规则基本就是正则表达式，而正则表达式中特殊符号需要转义，即规则中的点号和问号需要加反斜杠，注意修改配置后需要重启IIS。如果你的配置文件同目录里的 httpd.parse.errors 文件为0字节即没有记录错误的话，应该伪静态就成功了。3、如果访问伪静态地址还是404错误，那么就应该查看你的Windows日志中的程序日志，注意如果有&amp;ldquo;无法加载站点/服务的所有 ISAPI 筛选器。因此启动中止。&amp;rdquo;&amp;ldquo;HTTP 筛选器 DLL C:\Rewrite\Rewrite.dll 加载失败。数据是错误。&amp;rdquo;类似的错误那么就应当注意 ISAPI_Rewrite 0053 安装目录的权限问题，以下是网上的说法：&amp;ldqu<br/><a href="http://www.zaiqiang.com/wap.asp?mode=WAP&amp;act=View&amp;id=319&amp;Page=1">[&lt;&lt;]</a><a href="http://www.zaiqiang.com/wap.asp?mode=WAP&amp;act=View&amp;id=319&amp;Page=1">[[1]]</a><a href="http://www.zaiqiang.com/wap.asp?mode=WAP&amp;act=View&amp;id=319&amp;Page=2">[2]</a><a href="http://www.zaiqiang.com/wap.asp?mode=WAP&amp;act=View&amp;id=319&amp;Page=2">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=319">查看评论(4)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=319">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://www.zaiqiang.com/wap.asp">首页</a>
</p>
</card>
</wml>