前提 空间支持伪静态 给出.htaccess文件方案
1、后台-系统参数-核心设置-是否使用伪静态:选择“是”;
然后所有新建栏目的时候选“使用动态页”, 而且在“文件保存目录”填写入此栏目想使用的目录名
比如“ 通知 ”这个栏目, 就写“ /tongzhi ” 记得前面加上斜杠,我调试www.dzxx.cn的时候,就是没加斜杠浪费了2个小时!!
2、(新安装DEDE跳过此步骤)如果已经有静态文件了 可以先删除所有生成的页面 然后
在后台-系统-SQL命令行工具中执行如下语句:
将所有文档设置为“仅动态浏览”:
update dede_archives set ismake=-1
将所有栏目设置为“使用动态页”:
update dede_arctype set isdefault=-1
3、先修改/include/helpers/channelunit.helper.php文件
(1)查找:(修改文章阅读页的URL格式)
//动态文章
if($cfg_rewrite == 'Y')
{
return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
}
替换为
//动态文章
if($cfg_rewrite == 'Y')
{
return $typedir."/view-".$aid.'-1.html';
}
意思是:将默认的/plus/view-1-1.html文章链接格式改为/栏目目录/view-1-1.html。比如 /tongzhi/view-1-1.html
(2) 查找:(修改栏目或频道首页的URL生成格式)
//动态
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
替换为
//动态
$reurl = $typedir."/";
意思是:将默认的频道或是列表页URL/plus//list.php?tid=1变更为“/目录”形式。如/tongzhi
4、列表分页伪静态修改
打开/include/arc.listview.class.php
查找:
$plist = str_replace('.php?tid=', '-', $plist);
替换为
$plist = str_replace('plus/list.php?tid=','list-', $plist);
将默认的plus/list.php?tid=替换成/list-;的模式
然后找到
$plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist);
在下面加一句
$plist = str_replace('/','',$plist);
这句是过滤掉/符号
意思是:将默认的列表分页链接格式plus/list.php?tid=x$x$xl修改为/list-x-x-x.html,然后去掉最前面的/符号,让链接成为相对链接,这样就能在列表分页实现/tongzhi/list-6-31-2.html这种地址形式。如果有高手可以自行优化一下 将-6-这个表示频道ID的位置去除掉。
5、最后给出.htaccess伪静态规则
RewriteEngine On
RewriteCond %{http_host} ^edz.gov.cn [NC]
RewriteRule ^(.*)$ http://news.edz.gov.cn/$1 [L,R=301]
#伪静态列表页首(这里必须纯手工 例子以通知栏目为例 一个栏目分别写一条 以此类推)
RewriteRule ^tongzhi/$ /plus/list.php?tid=6
#伪静态列表页分页
RewriteRule ^tongzhi/list-6-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=6&totalresult=$1&PageNo=$2
#伪静态信息浏览
RewriteRule ^tongzhi/([0-9]+)\.html$ /plus/view.php?aid=$1
RewriteRule ^tongzhi/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2
6、TAG这些的伪静态个人觉得不必要。所以没写了,
1、后台-系统参数-核心设置-是否使用伪静态:选择“是”;
然后所有新建栏目的时候选“使用动态页”, 而且在“文件保存目录”填写入此栏目想使用的目录名
比如“ 通知 ”这个栏目, 就写“ /tongzhi ” 记得前面加上斜杠,我调试www.dzxx.cn的时候,就是没加斜杠浪费了2个小时!!
2、(新安装DEDE跳过此步骤)如果已经有静态文件了 可以先删除所有生成的页面 然后
在后台-系统-SQL命令行工具中执行如下语句:
将所有文档设置为“仅动态浏览”:
update dede_archives set ismake=-1
将所有栏目设置为“使用动态页”:
update dede_arctype set isdefault=-1
3、先修改/include/helpers/channelunit.helper.php文件
(1)查找:(修改文章阅读页的URL格式)
//动态文章
if($cfg_rewrite == 'Y')
{
return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
}
替换为
//动态文章
if($cfg_rewrite == 'Y')
{
return $typedir."/view-".$aid.'-1.html';
}
意思是:将默认的/plus/view-1-1.html文章链接格式改为/栏目目录/view-1-1.html。比如 /tongzhi/view-1-1.html
(2) 查找:(修改栏目或频道首页的URL生成格式)
//动态
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
替换为
//动态
$reurl = $typedir."/";
意思是:将默认的频道或是列表页URL/plus//list.php?tid=1变更为“/目录”形式。如/tongzhi
4、列表分页伪静态修改
打开/include/arc.listview.class.php
查找:
$plist = str_replace('.php?tid=', '-', $plist);
替换为
$plist = str_replace('plus/list.php?tid=','list-', $plist);
将默认的plus/list.php?tid=替换成/list-;的模式
然后找到
$plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist);
在下面加一句
$plist = str_replace('/','',$plist);
这句是过滤掉/符号
意思是:将默认的列表分页链接格式plus/list.php?tid=x$x$xl修改为/list-x-x-x.html,然后去掉最前面的/符号,让链接成为相对链接,这样就能在列表分页实现/tongzhi/list-6-31-2.html这种地址形式。如果有高手可以自行优化一下 将-6-这个表示频道ID的位置去除掉。
5、最后给出.htaccess伪静态规则
RewriteEngine On
RewriteCond %{http_host} ^edz.gov.cn [NC]
RewriteRule ^(.*)$ http://news.edz.gov.cn/$1 [L,R=301]
#伪静态列表页首(这里必须纯手工 例子以通知栏目为例 一个栏目分别写一条 以此类推)
RewriteRule ^tongzhi/$ /plus/list.php?tid=6
#伪静态列表页分页
RewriteRule ^tongzhi/list-6-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=6&totalresult=$1&PageNo=$2
#伪静态信息浏览
RewriteRule ^tongzhi/([0-9]+)\.html$ /plus/view.php?aid=$1
RewriteRule ^tongzhi/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2
6、TAG这些的伪静态个人觉得不必要。所以没写了,