dedecms 5.5版后台可以开启伪静态功能,但是就只文章页会被伪静态,栏目页的链接依然是动态的,如何开启栏目页伪静态,看下面的步骤就可以了
我们首先需要给虚拟主机添加上伪静态规则,然后再去dedecms的相关文件中改掉相应的函数。首先我们给虚拟主机加上伪静态规则,Apache和IIS的详细设置如下,虚拟主机是否支持伪静态,请咨询你的虚拟主机提供商。
如果是Apache的服务器,就在.htaccess里面写上
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
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的程序,打开include/channelunit.func.php
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
替换为
$reurl = $GLOBALS['cfg_phpurl']."/list-".$typeid.".html";