首先我们给虚拟主机加上伪静态规则,Apache和IIS的详细设置如下,虚拟主机是否支持伪静态,请咨询你的虚拟主机提供商。
如果是Apache的服务器,就在.htaccess里面写上
代码:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule index.html /index.php
RewriteRule plus/list-([0-9]+).html$ /plus/list.php?tid=$1
RewriteRule plus/view-([0-9]+)-([0-9]+).html$ /plus/view.php?arcID=$1&pageno=$3
RewriteRule plus/list-([0-9]+)-([0-9]+)-([0-9]+).html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3
</IfModule>
IIS的服务器,在httpd.ini里面写上,前提是要服务器安装过ISAPI Rewrite
代码:
[ISAPI_Rewrite]
# 缓存3600秒 = 1 小时(hour)
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^(.*)/index.html $1/index.php
RewriteRule ^(.*)/plus/list-([0-9]+).html $1/plus/list.php?tid=$2
RewriteRule ^(.*)/plus/list-([0-9]+)-([0-9]+)-([0-9]+).html $1/plus/list.php?tid=$2&TotalResult=$3&PageNo=$4
RewriteRule ^(.*)/plus/view-([0-9]+)-([0-9]+).html $1/plus/view.php?arcID=$2&pageno=$3
然后我们修改dedecms的程序,打开includechannelunit.func.php
查找
代码:
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
替换为
代码:
$reurl = $GLOBALS['cfg_phpurl']."/list-".$typeid.".html";
以上修改适用于dedecms 5.5版,其他版本可能稍微有些区别。