织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
时间:2022年07月25日
/来源:网络
/编辑:佚名
织梦cms是使用最广泛的cms(漏洞也最多 ^0^),织梦cms设置伪静态需调整程序,这一点不太友好,本教程环境为Nginx,将介绍nginx下织梦cms(dedecms)设置伪静态方法(页面下方附上nginx伪静态规则)apache和IIS设置方法一样,只不过问题规则不一样而已。
一、在织梦后台启用伪静态,设置方法:登录织梦后台--系统---系统基本参数---核心设置,中将 是否使用伪静态: 设置为“是”如图,(注意,若之前站点栏目和文章是生成静态的,那么需重新设置生成为动态才可以,参考如图)

栏目和文章页面设置为动态请参考如图:


二、编辑/include/helpers/channelunit.helper.php文件,(修改前请将该文件复制一份,以免修改错误可以还原,备份文件是个好习惯)

1、查找:大约在227行
global $cfg_typedir_df;
改成:
global $cfg_typedir_df, $cfg_rewrite;
2、查找:大约在234行
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
改成:
if($cfg_rewrite == 'Y')
{
$reurl = $GLOBALS["cfg_phpurl"]."/list-".$typeid.'.html';
}
else
{
//动态
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
}
三、将如下nginx规则文件添加到站点conf配置文件中,并重启nginx服务
rewrite "^/list-([0-9]+)\.html$" /plus/list.php?tid=$1 last;
rewrite "^/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 last;
rewrite "^/view-([0-9]+)-1\.html$" /plus/view.php?arcID=$1 last;
rewrite "^/view-([0-9]+)-([0-9]+)\.html$" /plus/view.php?aid=$1&pageno=$2 last;
rewrite "^/plus/list-([0-9]+)\.html$" /plus/list.php?tid=$1 last;
rewrite "^/plus/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 last;
rewrite "^/plus/view-([0-9]+)-1\.html$" /plus/view.php?arcID=$1 last;
rewrite "^/plus/view-([0-9]+)-([0-9]+)\.html$" /plus/view.php?aid=$1&pageno=$2 last;
rewrite "^/tags.html$" /tags.php last;
rewrite "^/tag-([0-9]+)-([0-9]+)\.html$" /tags.php?/$1/$2/ last;
若上面规则有问题,可试下如下伪静态规则:
rewrite "^/index.html$" /index.php last;
rewrite "^/list-([0-9]+)\.html$" /plus/list.php?tid=$1 last;
rewrite "^/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 last;
rewrite "^/view-([0-9]+)-1\.html$" /plus/view.php?arcID=$1 last;
rewrite "^/view-([0-9]+)-([0-9]+)\.html$" /plus/view.php?aid=$1&pageno=$2 last;
rewrite "^/tags.html$" /tags.php last;
rewrite "^/tag-([0-9]+)-([0-9]+)\.html$" /tags.php?/$1/$2/ last;


至此,织梦伪静态设置完成,测试列表和内容页伪静态都可正常访问了。
一、在织梦后台启用伪静态,设置方法:登录织梦后台--系统---系统基本参数---核心设置,中将 是否使用伪静态: 设置为“是”如图,(注意,若之前站点栏目和文章是生成静态的,那么需重新设置生成为动态才可以,参考如图)

栏目和文章页面设置为动态请参考如图:


二、编辑/include/helpers/channelunit.helper.php文件,(修改前请将该文件复制一份,以免修改错误可以还原,备份文件是个好习惯)

1、查找:大约在227行
global $cfg_typedir_df;
改成:
global $cfg_typedir_df, $cfg_rewrite;
2、查找:大约在234行
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
改成:
if($cfg_rewrite == 'Y')
{
$reurl = $GLOBALS["cfg_phpurl"]."/list-".$typeid.'.html';
}
else
{
//动态
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
}
三、将如下nginx规则文件添加到站点conf配置文件中,并重启nginx服务
rewrite "^/list-([0-9]+)\.html$" /plus/list.php?tid=$1 last;
rewrite "^/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 last;
rewrite "^/view-([0-9]+)-1\.html$" /plus/view.php?arcID=$1 last;
rewrite "^/view-([0-9]+)-([0-9]+)\.html$" /plus/view.php?aid=$1&pageno=$2 last;
rewrite "^/plus/list-([0-9]+)\.html$" /plus/list.php?tid=$1 last;
rewrite "^/plus/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 last;
rewrite "^/plus/view-([0-9]+)-1\.html$" /plus/view.php?arcID=$1 last;
rewrite "^/plus/view-([0-9]+)-([0-9]+)\.html$" /plus/view.php?aid=$1&pageno=$2 last;
rewrite "^/tags.html$" /tags.php last;
rewrite "^/tag-([0-9]+)-([0-9]+)\.html$" /tags.php?/$1/$2/ last;
若上面规则有问题,可试下如下伪静态规则:
rewrite "^/index.html$" /index.php last;
rewrite "^/list-([0-9]+)\.html$" /plus/list.php?tid=$1 last;
rewrite "^/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 last;
rewrite "^/view-([0-9]+)-1\.html$" /plus/view.php?arcID=$1 last;
rewrite "^/view-([0-9]+)-([0-9]+)\.html$" /plus/view.php?aid=$1&pageno=$2 last;
rewrite "^/tags.html$" /tags.php last;
rewrite "^/tag-([0-9]+)-([0-9]+)\.html$" /tags.php?/$1/$2/ last;


至此,织梦伪静态设置完成,测试列表和内容页伪静态都可正常访问了。
新闻资讯 更多
- 【织梦cms教程】dedecms5.7转帝国cms7.2方法03-02
- 【织梦cms教程】dedecms(织梦)自定义表单后台显示不全 自定义模型当中添加自定义字段后在后台添加内容后不显示解决方案03-01
- 【织梦cms教程】织梦DEDECMS网站首页如何实现分页翻页02-09
- 【织梦cms教程】织梦网站如何变成动态02-09
- 【织梦cms教程】织梦DEDECMS导航下拉菜单的实现方法02-08
- 【织梦cms教程】DedeCMS帝国备份王织梦系统网站搬家02-08
- 【织梦cms教程】织梦DedeCMS相关文章的调用方法01-27
- 【织梦cms教程】【织梦二次开发】dedecms删除文章同时删除附件01-21
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法