不仅仅是一个人
只争朝夕,只因有你,李内涵伴你一路成长。

织梦(dede)伪静态完美版

网上很多关于织梦(dede)伪静态的但是很多都没法用,整理我整理了一下完整可用的伪静态修改方法,有需要的可以体验一下。

1、先到 后台-系统参数-核心设置-是否使用伪静态:选择“是”。

20160626120638

20160626120815

Apache服务器伪静态相对简单,直接在.htaccess文件中加入相应伪静态规则即可。

IIS服务器伪静态的实现,则需要加载Rewrite组件,然后配置httpd.ini文件。

2、如果你的网站已经存在生成的静态栏目或文章HTML,那么只需在后台-系统-SQL命令行工具中执行如下语句:

将所有文档设置为“仅动态浏览”:

update dede_archives set ismake=-1;

将所有栏目设置为“使用动态页”:

update dede_arctype set isdefault=-1;

也可以用下面这个同时将上面两行一起执行

update dede_archives set ismake=-1;
update dede_arctype set isdefault=-1;

3、列表页、文章页伪静态修改

打开/include/helpers/channelunit.helper.php。

查找(第161行):

//动态文章
if($cfg_rewrite == 'Y')
{
return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
}

替换为

 //动态文章
if($cfg_rewrite == 'Y')
{
return "/list/id-".$aid.'-1.html';
}

意思是:将默认的文章/plus/view-1-1.html链接格式改为/list/id-1-1.html

查找(第232行):

 //动态
            $reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;

替换为

 //动态
			$reurl = "/sort/list-".$typeid.".html";

意思是:将默认的频道或是列表页URL/plus/list.php?tid=1链接格式改为/sort/list-1.html

4、列表分页伪静态修改

打开/include/arc.listview.class.php

查找(第1200行):

            $plist = str_replace('.php?tid=', '-', $plist);

上一行添加

$plist = str_replace('plus', 'sort', $plist);//将默认的plus替换成sort

意思是:将默认的列表分页链接格式plus/list.php?tid=x$x$xl修改为sort/list-x-x-x.html

5、文章分页伪静态

打开/include/arc.archives.class.php
查找(第903行):

 {
 $plist = str_replace('.php?tid=', '-', $plist);
 $plist = str_replace('&TotalResult=', '-', $plist);
 $plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist);
 }

替换为

{
 $plist = str_replace('plus', 'sort', $plist);//将默认的plus替换成sort
 $plist = str_replace('.php?tid=', '-', $plist);
 $plist = str_replace('&TotalResult=', '-', $plist);
 $plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist);
 }

这步不作修改也可以,毕竟文章分页用到的不多。

6、TAG标签伪静态

DedeCms默认的TAG标签URL,形如/tags.php?/XXX/,特别的难看。打开/include/taglib/tag.lib.php

查找(第87行):

$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

替换为

$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/";

这样就修改好了,上传你到你的网站,注:养成备份的好习惯。

下面配上IIS和Apache伪静态规则 保存文件为:.htaccess

win环境下的Apache规则(liunx没有环境):(更新 centos 中的lnmpa环境可用)

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]

RewriteRule ^index.html$ /index.php
RewriteRule ^sort/list-([0-9]+).html$ /plus/list.php?tid=$1
RewriteRule ^sort/list-([0-9]+)-([0-9]+)-([0-9]+).html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3
RewriteRule ^list/id-([0-9]+)-1.html$ /plus/view.php?arcID=$1
RewriteRule ^list/id-([0-9]+)-([0-9]+).html$ /plus/view.php?aid=$1&pageno=$2
RewriteRule ^tags.html$ /tags.php
RewriteBase /
RewriteRule ^tags/(.*)/$ /tags.php?/$1

IIS6.0规则 保存文件为:httpd.ini

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP

RewriteRule ^(.*)/index\.html $1/index\.php [I]
RewriteRule ^(.*)/list/id-([0-9]+)-([0-9]+)\.html $1/plus/view\.php\?arcID=$2&pageno=$3 [I]
RewriteRule ^(.*)/sort/list-([0-9]+)\.html $1/plus/list\.php\?tid=$2 [I]
RewriteRule ^(.*)/sort/list-([0-9]+)-([0-9]+)-([0-9]+)\.html $1/plus/list\.php\?tid=$2&TotalResult=$3&PageNo=$4 [I]
RewriteRule ^(.*)/(.*)_(.*)_([0-9]+)\.html $1/huilv/?from=$2&to=$3&num=$4 [I]
RewriteRule ^(.*)/tags\.html $1/tags\.php [I]
RewriteRule ^(.*)/tags/(.*)(?:(\?.*))* $1/tags\.php\?\/$2 [I]
RewriteRule ^(.*)/tags/(.*)\/(?:(\?.*))* $1/tags\.php\?\/$2\/ [I]
RewriteRule ^(.*)/tags/(.*)\/([0-9])(?:(\?.*))* $1/tags\.php\?\/$2\/$3 [I]
RewriteRule ^(.*)/tags/(.*)\/([0-9])\/(?:(\?.*))* $1/tags\.php\?\/$2\/$3\/ [I]

IIS7+规则(在线转换来的没测试,没有环境,下面有测试过的。) 保存文件为:web.config

<rule name="rule 1T">
	<match url=".*"  />
	<action type="Rewrite" url="/-"  />
</rule>
<rule name="rule 2T">
	<match url="^index.html$"  />
	<action type="Rewrite" url="//index.php"  />
</rule>
<rule name="rule 3T">
	<match url="^sort/list-([0-9]+).html$"  />
	<action type="Rewrite" url="//plus/list.php?tid={R:1}"  />
</rule>
<rule name="rule 4T">
	<match url="^sort/list-([0-9]+)-([0-9]+)-([0-9]+).html$"  />
	<action type="Rewrite" url="//plus/list.php?tid={R:1}&amp;totalresult={R:2}&amp;PageNo={R:3}"  />
</rule>
<rule name="rule 5T">
	<match url="^list/id-([0-9]+)-1.html$"  />
	<action type="Rewrite" url="//plus/view.php?arcID={R:1}"  />
</rule>
<rule name="rule 6T">
	<match url="^list/id-([0-9]+)-([0-9]+).html$"  />
	<action type="Rewrite" url="//plus/view.php?aid={R:1}&amp;pageno={R:2}"  />
</rule>
<rule name="rule 7T">
	<match url="^tags.html$"  />
	<action type="Rewrite" url="//tags.php"  />
</rule>
<rule name="rule 8T">
	<match url="^tags/(.*)/$"  />
	<action type="Rewrite" url="//tags.php?/{R:1}"  />
</rule>

IIS7+规则(以测试,需要的可以自己整理一下)保存文件为:web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
 <rewrite>
 <rules>
<rule name="rD">
<match url="^index.html" />
<action type="Rewrite" url="index.php" />
</rule>
 <rule name="rule 1">
 <match url="^sort/list-([0-9]+).html$" ignoreCase="false" />
 <action type="Rewrite" url="/plus/list.php?tid={R:1}" appendQueryString="false" />
 </rule>
 <rule name="rule 2">
 <match url="^sort/list-([0-9]+)-([0-9]+)-([0-9]+).html$" ignoreCase="false" />
 <action type="Rewrite" url="/plus/list.php?tid={R:1}&amp;totalresult={R:2}&amp;PageNo={R:3}" appendQueryString="false" />
 </rule>
 <rule name="rule 3">
 <match url="^list/id-([0-9]+)-1.html$" ignoreCase="false" />
 <action type="Rewrite" url="/plus/view.php?arcID={R:1}" appendQueryString="false" />
 </rule>
 <rule name="rule 4">
 <match url="^list/id-([0-9]+)-([0-9]+).html$" ignoreCase="false" />
 <action type="Rewrite" url="/plus/view.php?aid={R:1}&amp;pageno={R:2}" appendQueryString="false" />
 </rule>

 <rule name="rule 5">
 <match url="^tags.html$" />
 <action type="Rewrite" url="/tags.php" />
 </rule>
 <rule name="rule 6">
 <match url="^tags/(.*)/$" />
 <action type="Rewrite" url="/tags.php?/{R:1}" />
 </rule>
 </rules>
 </rewrite>
 </system.webServer>
</configuration>

以上是整理过后的织梦伪静态 体验地址 电梯1 电梯2

有什么不懂的可以在下方留言

未经允许不得转载:李内涵 » 织梦(dede)伪静态完美版
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!