道勤数据 发表于 2015-8-2 23:03:17

如何在IIS环境下配置Rewrite规则

URL 静态化可以提高搜索引擎抓取,开启本功能需要对 Web 服务器增加相应的 Rewrite 规则,且会轻微增加服务器负担。本教程讲解如何在 IIS 环境下配置各个产品的 Rewrite 规则。一、首先下载 Rewrite.zip 的包,解压到任意盘上的任意目录。各个产品的 Rewrite 规则包不同,请选择对应的产品下载对应的 Rewrite 规则。Discuz!6.0.0/6.1.0 的 Rewrite 规则下载地址:http://faq.comsenz.com/images/base/attachment.gifRewrite.zipUCenter Home1.0.0 的 Rewrite规则下载地址:http://faq.comsenz.com/images/base/attachment.gifRewrite.zipSupeSite6.0_X-Space4.0_UC 的Rewrite 规则下载地址:http://faq.comsenz.com/images/base/attachment.gifiisrewrite.zipSupeV 的 Rewrite 规则下载地址:http://faq.comsenz.com/images/base/attachment.gifrewrite_iis.zip下载各个产品的 Rewrite 规则并且重命名后如下图所示存放:http://faq.comsenz.com/attachments/2008/05/5_2008050915245719sIZ.gif二、配置方法Discuz!、UCHome、SupeSite/X-Space、SupeV 的 Rewrite 配置方法类似,下面以 Discuz!6.0.0/6.1.0 的 Rewrite 规则配置方法为例讲解如何在 IIS 环境下配置 Rewrite 规则。在 IIS 管理器里选择网站,右键选择“属性”,如下图所示:http://faq.comsenz.com/attachments/2008/05/5_200805091525441kE9q.gif在弹出的窗口里选择“ISAPI筛选器”http://faq.comsenz.com/attachments/2008/05/5_200805091525442RzAq.gif上图中点击“添加”,在弹出的窗口里“筛选器名称”填写“rewrite”http://faq.comsenz.com/attachments/2008/05/5_200805091525443RpP6.gif上图界面中点击“浏览”,选择下载解压后的 Discuz! Rewrite 规则目录下的 Rewrite.dll 文件http://faq.comsenz.com/attachments/2008/05/5_200805091525444X8co.gif浏览完毕点击“确定”http://faq.comsenz.com/attachments/2008/05/5_2008050915254450Jhr.gif添加完毕点击“确定”http://faq.comsenz.com/attachments/2008/05/5_200805091525446DkFo.gif重新启动 IIShttp://faq.comsenz.com/attachments/2008/05/5_200805091525447xx5y.gifhttp://faq.comsenz.com/attachments/2008/05/5_200805091525448ySp3.gif重新选择该站点 => 右键“属性”=> “ISAPI 筛选器”,如果看到状态为向上的绿色箭头,就说明 Rewrite 模块安装成功了。http://faq.comsenz.com/attachments/2008/05/5_200805091525449FCjW.gifRewrite 规则配置成功了,但是这个时候浏览论坛地址依旧不是伪静态的,还需要到论坛后台做相应的设置才可以。论坛后台 => 全局 => 优化设置,下图中红色区域选项:http://faq.comsenz.com/attachments/2008/05/5_2008050915254410W7zC.gif“URL 静态化”:如上图所示有五个选项,根据您的需求选择即可,最多可以选择五个,不选则不生效。“Rewrtie 兼容性”:如果您的服务器不支持 Rewrite 规则中的中文字符,请选择“是”。对于没有此问题的服务器,可以选择“否”。上面两项设置完毕“提交”保存即可。这个时候返回到论坛首页随便打开一个版块或者一个帖子即可看到 Discuz! 的 Rewrite 伪静态配置成功!http://faq.comsenz.com/attachments/2008/05/5_2008050915254411Ih4C.gifhttp://faq.comsenz.com/attachments/2008/05/5_2008050915254412XMOc.gif三、各个产品的 Rewrite 规则httpd.ini 文件内容如下配置# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32# Discuz! Rewrite规则# 独立主机用户# Protect httpd.ini and httpd.parse.errors files# from accessing through HTTPRewriteRule ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)\?*(.*)$ $1/archiver/index\.php\?$2&$4RewriteRule ^(.*)/forum-(+)-(+)\.html\?*(.*)$ $1/forumdisplay\.php\?fid=$2&page=$3&$4RewriteRule ^(.*)/thread-(+)-(+)-(+)\.html\?*(.*)$ $1/viewthread\.php\?tid=$2&extra=page\%3D$4&page=$3&$4RewriteRule ^(.*)/space-(username|uid)-(.+)\.html\?*(.*)$ $1/space\.php\?$2=$3&$4RewriteRule ^(.*)/tag-(.+)\.html\?*(.*)$ $1/tag\.php\?name=$2&$3# SupeSite Rewrite规则# 独立主机用户# 修改以下语句中的 /supesite 修改为你的SupeSite目录地址,如果程序放在根目录中,请将 /supesite 修改为 /RewriteRule ^/supesite/(+)$ /supesite/index\.php\?uid/$1 RewriteRule ^/supesite/(+)/spacelist(.+)$ /supesite/index\.php\?uid/$1/action/spacelist/type$2 RewriteRule ^/supesite/(+)/viewspace(.+)$ /supesite/index\.php\?uid/$1/action/viewspace/itemid$2 RewriteRule ^/supesite/(+)/viewbbs(.+)$ /supesite/index\.php\?uid/$1/action/viewbbs/tid$2 RewriteRule ^/supesite/(+)/(.*)$ /supesite/index\.php\?uid/$1/$2 RewriteRule ^/supesite/action(.+)$ /supesite/index\.php\?action$1 RewriteRule ^/supesite/category(.+)$ /supesite/index\.php\?action/category/catid$1 RewriteRule ^/supesite/viewnews(.+)$ /supesite/index\.php\?action/viewnews/itemid$1 RewriteRule ^/supesite/viewthread(.+)$ /supesite/index\.php\?action/viewthread/tid$1 RewriteRule ^/supesite/mygroup(.+)$ /supesite/index\.php\?action/mygroup/gid$1 # UCHome Rewrite规则# 独立主机用户# 修改以下语句中的 /uchome 修改为你的uchome目录地址,如果程序放在根目录中,请将 /uchome 修改为 /RewriteRule ^/uchome/(space|network)-(.+)\.html$ /uchome/$1\.php\?rewrite=$2 RewriteRule ^/uchome/(space|network)\.html$ /uchome/$1\.php RewriteRule ^/uchome/(+)$ /uchome/space\.php\?uid=$1 # SupeV Rewrite规则# 独立主机用户RewriteRule ^(.*)/ivideo(-tv-(+))?(-ti-(+))?(-tc-(+))?(-page-(+))?\.html$ $1/ivideo\.php\?tv=$3&ti=$5&tc=$7&page=$9RewriteRule ^(.*)/ispecial(-tv-(+))?(-ti-(+))?(-tc-(+))?(-page-(+))?\.html$ $1/ispecial\.php\?tv=$3&ti=$5&tc=$7&page=$9RewriteRule ^(.*)/icategory\.html$ $1/icategory\.phpRewriteRule ^(.*)/category-cid-(+)(-tag-([^-]*))?(-timelimit-(+))?(-orderlimit-(+))?(-page-(+))?\.html$ $1/category\.php\?cid=$2&tag=$4&timelimit=$6&orderlimit=$8&page=$10RewriteRule ^(.*)/vspace-(mid|username)-(.+)\.html$ $1/vspace\.php\?$2=$3RewriteRule ^(.*)/video-(vid|ivid)-(.+)\.html$ $1/video\.php\?$2=$3RewriteRule ^(.*)/special-spid-(+)\.html$ $1/special\.php\?spid=$2
页: [1]
查看完整版本: 如何在IIS环境下配置Rewrite规则