DEDECMS问答模块rewrite伪静态设置教程:
搭配环境一:
服务器软件:apache
操作系统:windows XP
实现步骤:
1、在网站根目录下创建 .htaccess 文件,内容如下(相关正则可自己手动修改)
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)/question-id-([0-9]+)\.html$ $1/question\.php\?id=$2
RewriteRule ^(.*)/browser-tid-([0-9]+)\.html$ $1/browser\.php\?tid=$2
RewriteRule ^(.*)/browser-tid2-([0-9]+)\.html$ $1/browser\.php\?tid2=$2
RewriteRule ^(.*)/browser-lm-([0-9]+)\.html$ $1/browser\.php\?lm=$2
RewriteRule ^(.*)/browser-tid-([0-9]+)-lm-([0-9]+)\.html$ $1/browser\.php\?tid=$2&lm=$3
RewriteRule ^(.*)/browser-tid2-([0-9]+)-lm-([0-9]+)\.html$ $1/browser\.php\?tid2=$2&lm=$3
RewriteRule ^(.*)index\.html$ $1/index.php
RewriteRule ^(.*)list-([0-9]+)\.html$ $1/plus/list.php?tid=$2
RewriteRule ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1/plus/list.php?typeid=$2&PageNo=$3
RewriteRule ^(.*)view-([0-9]+).html$ $1/plus/view.php?aid=$2
RewriteRule ^(.*)view-([0-9]+)-([0-9]+).html$ $1/plus/view.php?aid=$2&pageno=$3
2、修改 apache->conf 目录下的 httpd.conf 文件,修改点如下:
a、把 #LoadModule rewrite_module modules/mod_rewrite.so 前的 # 号去掉(必须),此步为开启rewrite功能
b、把 #AddModule mod_rewrite.c 前的 # 号去掉(可能没有这行,如果没有就不管它)
c、搜索 “AllowOverride None”(不包括引号,下同) ,有多个,全部替换为 “AllowOverride All”
d、找到 ,看看有没有Opti***** FollowSymLinks 这一行,如果没有,就加上,类似下面这样子
Opti***** FollowSymLinks
AllowOverride ALL
………..
3、dedecms后台【系统】–>【系统基本参数设置】–>【模块设置】–>“是否使用Rewrite”,选择“是”,保存
4、重启 apache 服务器,即可
搭配环境二:
服务器环境:IIS
操作系统:windows XP SP3
实现步骤:
1、下载并安装IIS Rewrite模块,可到 www.helicontech.com/download/isapi_rewrite/ISAPI_Rewrite3_0064_Lite.msi 这个地址下载
2、在IIS信息服务管理器里右击你的站点,选择“属性”,点击【ISAPI筛选器】选项卡–>“添加”,筛选器名称写Rewrite,可 执行文件为 “C:\Program Files\Helicon\ISAPI_Rewrite3\ISAPI_Rewrite.dll”(选择刚才安装IISRewrite目录下的 ISAPI_Rewrite.dll文件)
3、重启IIS服务器,看到【ISAPI筛选器】中刚才添加的筛选器名称所对应的状态为向上的图标时,表示添加成功
4、dedecms后台【系统】–>【系统基本参数设置】–>【模块设置】–>“是否使用Rewrite”,选择“是”,保存
5、打开isapirewrite(程序名为:ISAPI_Rewrite_Manage),保证config栏的地址为 C:\ProgramFiles \Helicon\ISAPI_Rewrite3\httpd.conf(IISRewrite安装目录下httpd.conf文件)的前提下,点击 “Edit”,在编辑器中添加以下内容(相关正则可自己手动修改)并保存应用:
# 3600 = 1 hour
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteRule ^(.*)/question-id-([0-9]+)\.html$ $1/question\.php\?id=$2
RewriteRule ^(.*)/browser-tid-([0-9]*)\.html$ $1/browser\.php\?tid=$2
RewriteRule ^(.*)/browser-tid2-([0-9]+)\.html$ $1/browser\.php\?tid=$2
RewriteRule ^(.*)/browser-tid-([0-9]+)-lm-([0-9]+)\.html$ $1/browser\.php\?tid2=$2&lm=$3
RewriteRule ^(.*)/browser-tid2-([0-9]+)-lm-([0-9]+)\.html$ $1/browser\.php\?tid2=$2&lm=$3
6、至此,IIS下DeDeCMS问答模块伪静态已实现,若访问还不行,重启IIS服务器