dz3.1中ISAPI_Rewrite3.1伪静态,与apache设置的规则相同

By | 2013年12月23日

 

ISAPI_Rewrite3.1 full及其以上版本,对于在IIS下的设置与apache下完全相同了
————————————————————
1、将ISAPI_Rewrite3.1放在站上

2、在IIS中ISAPI筛选器中,添加一个项指向上面的ISAPI_Rewrite3.1中的ISAPI_Rewrite.dll;

3、打开ISAPI_Rewrite.dll安装目录下的httpd.conf文件,在里面输入以下内容并保存,这样就没有使用天数的限制了;
RegistrationName= wlqcwin
RegistrationCode= 2EAD-35GH-66NN-ZYBA

4、安装好后记得给ISAPI_Rewrite3软件安装目录NETWORK SERVICE的读取运行权限。如下
C:\Program Files\Helicon 给这个文件夹 NETWORK SERVICE 的读取运行权限
C:\Program Files\Helicon\ISAPI_Rewrite3\ISAPI_Rewrite.dll 给这个文件 NETWORK SERVICE 的读取运行权限

添加权限方法,
右键 – 属性 – 安全 – 添加 – 高级 – 立即查找 – 然后选择 NETWORK SERVICE 即可 – 确定

5、添加了ISAPI_Rewrite.dll后,重启下IIS,访问一次网站,再进入ISPAI筛选器中查看下,状态是否为绿色。

6、然后把.htaccess 文件上传到网站根目录,里面的规则(内容),用
Apache Web Server(虚拟主机用户) 规则(Rewrite3 需要htaccess ,不用httpd.ini方式)

# 将 RewriteEngine 模式打开
RewriteEngine On

# 修改以下语句中的 /discuz 为您的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
RewriteBase /

# Rewrite 系统规则请勿修改
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^archiver/(fid|tid)-([0-9]+)\.html$ archiver/index.php?action=$1&value=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ plugin.php?id=$1:$2&%1

7、重启一下IIS。