DEDECMS问答模块rewrite伪静态设置教程
2024-07-12 08:40:46
供稿:网友
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、找到 <Directory /> ,看看有没有Opti***** FollowSymLinks 这一行,如果没有,就加上,类似下面这样子
<Directory />
Opti***** FollowSymLinks
AllowOverride ALL
...........
</Directory>
3、dedecms后台【系统】-->【系统基本参数设置】-->【模块设置】-->“是否使用Rewrite”,选择“是”,保存
4、重启 apache 服务器,即可
搭配环境二:
服务器环境:IIS
操作系统:windows XP SP3
实现步骤:
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服务器