我们以在Apache运行环境下为例,Apache运行环境下伪静态规则的书写方式都是一样的,主要的不同是网站系统的不同,本文我们主要介绍Apache运行环境下,dedecms这款网站系统的伪静态设置和规则书写方式。
一、伪静态设置:
第一步、网站系统参数配置/栏目、文章调整为动态访问
(1)登录网站后台,在系统设置中的核心设置里把是否使用伪静态选项设置成状态,如下图所示。
(2)把网站栏目都设置成动态模式
在网站后台的系统设置中,到SQL命令行工具这个功能,使用以下语句操作:
UPDATE dede_arctype set isdefault='-1' (其中dede_需要自行更换成你的数据表的前缀)。
(3)把网站中的文章都设置成动态访问。
织梦系统更新通过sql语句实现,在网站后台的系统设置中,到SQL命令行工具这选项,使用以下语句操作。
UPDATE dede_archives set ismake='-1',其中dede_需要自行更换成你的数据表的前缀。
第二步、调整伪静态格式
需要修改的文件为include/helpers/channelunit.helper.php、include/arc.listview.class.php
(1) 栏目页面伪静态格式
打开channelunit.helper.php到函数GetTypeUrl ,在函数内部到if($isdefault==-1) 判断语句,把其中的
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
这句代码修改成如下内容:
if($GLOBALS["cfg_rewrite"] == 'Y') //伪静态
{
$reurl = $GLOBALS["cfg_phpurl"]."/list-".$typeid.'-1.html';
}
else
{
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
}
这就完美的实现了系统栏目页面的伪静态格式的设置。
(2)栏目分页伪静态格式
打开文件arc.listview.class.php,到函数GetPageListDM,这个函数就是生成栏目分页的。
如果按照(1)中的栏目伪静态格式,那么栏目分页伪静态格式无需修改。
如果(1)中的栏目伪静态格式有变动,就需要修改这个函数GetPageListDM,具体修改方式后续会更新上来。
(3)文章页面伪静态格式
打开文件channelunit.helper.php,到函数GetFileName,函数中以下这段代码就是设置文章伪静态格式的。
/
/动态文章
if($cfg_rewrite == 'Y') //伪静态
{
    return $GLOBALS["cfg_phpurl"]."/view-".$aid.'-1.html';
}
else
{
    return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid";
}
文章伪静态格式已经设置好了,无需修改。
以上的伪静态格式是最简单的,统一使用的目录为plus,例如:域名/plus/list-1-1.html,域名/plus/view-1-1.html。
二、伪静态规则:
Apache下的伪静态规则保存成文件.htaccess。
伪静态规则内容为:
RewriteEngine on
RewriteRule ^/$ /index\.php    #首页伪静态规则
RewriteRule ^plus/list-([0-9]+)-1\.html$ /plus/list\.php\?tid=$1 #列表首页伪静态规则
RewriteRule ^plus/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list\.php\?tid=$1&TotalResult=$2&PageNo=$3  #列表页分页伪静态规则
RewriteRule ^plus/view-([0-9]+)-1\.html$ /plus/view\.php\?aid=$1    #文章页伪静态规则
RewriteRule ^search/$ /plus/search\.php  #搜索页面伪静态规则
规则说明:$1/$2/$3等是一个占位符,对应前面的([0-9]+)按照顺序一 一对应。
把这些伪静态规则保存到文件.htaccess文件中,保存上传到网站根目录即可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。