帝国cms设置伪静态,如果网站数据非常多,生成静态html就会非常占用空间,动态地址又不利于收录,所以可以设置网站为伪静态。本文主要讲解一下帝国cms设置伪静态的基本步骤,适合零基础的新手学习,高手勿喷。
1、在后台,把栏目都设置成动态访问
可以更改单个栏目的属性,如下图
也可以批量编辑栏目属性,给多个栏目同时更改成动态方法,如下图:
2、首页也设置为动态访问
这样全站现在就是动态访问了。
3、后台伪静态参数设置
如上图,设置好伪静态参数,如果不会设置,就点击图中的默认按钮,就可以自动填写。
设置好后,就会发现网站前台的超链接都已经变成伪静态了,但打开的网页却没有生成,显示404错误。这是因为还要给网站空间配置伪静态规则。
4、给网站空间设置伪静态规则
伪静态规则网上有很多,本人用的是lnmp环境,所以以Nginx上的规则为例(其他环境,例如Apache、iis的伪静态规则,如果感兴趣可以去百度查询)
(1)假设你有一台vps或服务器,首先设置你的虚拟主机要支持伪静态(具体方法在创建虚拟主机时会设置,这里不做演示)
(2)假设创建了虚拟主机www.test.com,找到本虚拟主机的配置文件:
/usr/local/nginx/conf/vhost/www.test.com.conf
打开www.test.com.conf,在root /home/wwwroot/www.test.com; 这一行下面添加
include ecms.conf; (这是自己创建的伪静态规则文件)
之后保存。
(3)在 /usr/local/nginx/conf/ 目录下创建ecms.conf文件,打开ecms.conf添加如下代码:
location / {
rewrite ^([^.]*)/listinfo-([0-9]+)-([0-9]+).html$ $1/e/action/ListInfo/index.php?classid=$2&page=$3 last;
rewrite ^([^.]*)/showinfo-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/e/action/ShowInfo.php?classid=$2&id=$3&page=$4 last;
rewrite ^([^.]*)/infotype-([0-9]+)-([0-9]+).html$ $1/e/action/InfoType/index.php?ttid=$2&page=$3 last;
rewrite ^([^.]*)/tags-(.+?)-([0-9]+).html$ $1/e/tags/index.php?tagname=$2&page=$3 last;
if (!-e $request_filename) {
return 404;
}
}
之后保存。
(4)修改完配置文件,需要重启nginx生效。
执行:/etc/init.d/nginx restart
备注:在Apache下的伪静态规则
在Apache环境根目录下创建 .htaccess文件,并输入下面规则:
RewriteEngine On
ErrorDocument 404 /404.html
Rewritebase /
#信息列表
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^listinfo-(.+?)-(.+?).html$ /e/action/ListInfo/index.php?classid=$1&page=$2
#信息内容页
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^showinfo-(.+?)-(.+?)-(.+?).html$ /e/action/ShowInfo.php?classid=$1&id=$2&page=$3
#标题分类列表页
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^infotype-(.+?)-(.+?).html$ /e/action/InfoType/index.php?ttid=$1&page=$2
#TAGS信息列表页
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tags-(.+?)-(.+?).html$ /e/tags/index.php?tagname=$1&page=$2
#评论列表页
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^comment-(.+?)-(.+?)-(.+?)-(.+?)-(.+?)-(.+?).html$ /e/pl/index.php?doaction=$1&classid=$2&id=$3&page=$4&myorder=$5&tempid=$6
5、之后看网站前台就会发现,栏目伪静态成功。但文章内容页还没有伪静态。
这时我们需要:更新信息页地址
之后会发现,内容页伪静态也都成功了。