今天给大家分享dedecms织梦文章、列表和Tag标签伪静态的教程,在网站找了N多教程,都TMD的是抄袭的,连测试都不测试直接发出来欺骗用户IP,今天小编就把测试过的方法分享给大家。
1、首先栏目和文章最好设置成动态浏览,这样才不会生成静态html文件。
修改数据库
将所有文档设置为“仅动态”,可以进入数据库管理中,执行下面命令:
update dede_archives set ismake=-1
并将ismake的默认值设置为 -1即动态,1代表静态。
将所有栏目设置为“使用动态页”,可以进入数据库管理中,执行下面命令:
update dede_arctype set isdefault=-1
并将isdefault的默认值设置为 -1即动态,1代表静态。
2、修改重写的URL
如果用默认的设置, 访问的URL是:
http://www.XXXX.com/plus/view-131-1.html
这样的形式, 我们是可以更改这种样式的,找到文件/include/helpers/channelunit.helper.php打开,可以看到有这样的语句:
retu $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
这就是文章的url格式,修改为:
retu "/view-".$aid.'-1.html';
找到这是列表的重写url:
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
这是列表的重写url. 修改为:
$reurl = "/list-".$typeid.".html";
3、需要设置重写规则
在系统目录下加一个.htaccess文件,大家记得IIS,Apache,httpd.ini都属于windows主机服务器上IIS的配置文件,Nginx属于Linux主机服务器上的配置文件,所以大家一定要把这个搞明白。然后加入需要用到的伪静态规则,以下是Windows主机使用的规则,需要linux的规则,大家可以通过软件进行转换。
RewriteEngine On
ErrorDocument 404 /404.html
#PC版伪静态
RewriteRule ^html/list-([0-9]+)\.html$ /plus/list.php?tid=$1
RewriteRule ^html/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=$2&pageNo=$3
RewriteRule ^html/([0-9]+)\.html$ /plus/view.php?arcID=$1
RewriteRule ^html/([0-9]+)-([0-9]+)\.html$ /plus/view.php?arcID=$1&pageno=$2
#TAG标签伪静态
RewriteRule ^/content.html /tags.php last;
RewriteRule ^/content/(.*).html$ /tags.php?/$1 last;
RewriteRule ^/content-(.*)-(?:(\?.*))*.html$ /tags.php?/$1/ last;
RewriteRule ^/content-(.*)-([0-9])(?:(\?.*))*.html$ /tags.php?/$1/$2 last;
RewriteRule ^/content-(.*)-([0-9])-(?:(\?.*))*.html$ /tags.php?/$1/$2/ last;
Nginx主机PC端伪静态:
location / {
rewrite "^/content.html" /tags.php last;
rewrite "^/content/(.*).html$" /tags.php?/$1 last;
rewrite "^/content-(.*)-(?:(\?.*))*.html$" /tags.php?/$1/ last;
rewrite "^/content-(.*)-([0-9])(?:(\?.*))*.html$" /tags.php?/$1/$2/ last;
rewrite "^/content-(.*)-([0-9])-(?:(\?.*))*.html$" /tags.php?/$1/$2/ last;
rewrite "^/html/list-([0-9]+)\.html$" /plus/list.php?tid=$1 last;
rewrite "^/html/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 last;
rewrite "^/articles/([0-9]+).html$" /plus/view.php?arcID=$1 last;
rewrite "^/articles/([0-9]+)-([0-9]+)*.html$" /plus/view.php?arcID=$1&pageno=$2 last;
}
Nginx主机移动端伪静态:
location / {
rewrite "^/index.html$" /index.php last;
rewrite "^/html/list-([0-9]+)\.html$" /list.php?tid=$1 last;
rewrite "^/html/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$" /list.php?tid=$1&totalresult=$2&PageNo=$3 last;
rewrite "^/articles/([0-9]+)\.html$" /view.php?aid=$1 last;
rewrite "^/articles/([0-9]+)-([0-9]+)\.html$" /view.php?aid=$1&pageno=$2 last;
}
以上规则小编亲测,TAG标签伪静态的规则是针对小编网站专门定制的伪静态规则,可能会给有些人的不同,这个是可以直接生成数字形式的TAG标签,所以这个可以忽略。