1. 首页
  2. 建站学院
  3. 织梦教程

织梦DedeCms设置全站伪静态+全套伪静态规则

织梦DedeCms全站伪静态,是为了更方便管理和SEO,织梦DedeCms默认是生成静态html文件的,对于优化已经非常友好,但还是有部分页面是动态形式的(比如:Tag标签页面、网站内容搜索页面、DedeCms问答页面等),为了是这些页面更好的被搜索引擎收录,就需要进行伪静态了,虽然织梦DedeCms系统可以生成静态html文件,但如果每天更新内容量特别大的话,对于生成html文件也成为系统和人力的一个负担,那么也可以做成伪静态形式,这样就免去了不断繁琐的生成html文件了。织梦DedeCms设置全站伪静态+全套伪静态规则

请确保你网站所在的主机或者服务器支持伪静态并且已经开启了伪静态功能!

本教程主要设置织梦伪静态页面包括有:

1.列表页 /plus/list-2.html
2.列表页分页 /plus/list-2-26-2.html
3.内容页 /plus/view-112-1.html
4.内容页分页 /plus/view-112-2.html
5.TAG标签页 /tags/织梦/
6.TAG标签分页 /tags/织梦/2/
7.搜索页 /search/织梦.html
8.搜索页分页 /search/织梦-2.html

网站后台开启伪静态选项

登录dede管理员后台->系统->系统基本参数->核心设置->是否使用伪静态 请选择“是”。(如图)

织梦DedeCms设置全站伪静态+全套伪静态规则

网站文件修改

1、列表页和内容页伪静态链接

打开 \include\helpers\channelunit.helper.php

找到

global $cfg_typedir_df;

改成

global $cfg_typedir_df, $cfg_rewrite;

继续找到

$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; }

2、手机版列表页分页不使用电脑版伪静态

打开 \include\arc.listview.class.php 找到

if($cfg_rewrite == 'Y')

大概在1198行,把这一行改成

if($cfg_rewrite == 'Y' && !defined('DEDEMOB'))

3、TAG标签伪静态链接

打开 \include\taglib\tag.lib.php 找到

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

改成

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

4、TAG标签分页伪静态链接

打开 \include\arc.taglist.class.php 找到

$this->PageNo = $GLOBALS['PageNo'];

在它的下面加入


if($this->PageNo == 0)

{

 $this->PageNo = 1;

}
继续找到

$prepage="";

在它的上面加入

global $cfg_rewrite;
继续找到

$purl .= "?/".urlencode($this->Tag);

改成


if($cfg_rewrite == 'Y')

{

   $purl = "/tags/".urlencode($this->Tag);

}

else

{

 $purl .= "?/".urlencode($this->Tag);

}

4、搜索页伪静态链接

打开 \plus\search.php

找到

$t1 = ExecTime();

在它的下面加入


$keyword = preg_replace("/-(\d+)/i",'',$keyword);

$oldkeyword = preg_replace("/-(\d+)/i",'',$oldkeyword);

打开 \include\arc.searchview.class.php 找到

global $oldkeyword;

改成

global $oldkeyword, $cfg_rewrite;
继续找到

$purl .= "?".$geturl;

改成


if($cfg_rewrite != 'Y' && !defined('DEDEMOB'))

{

 $purl .= "?".$geturl;

}

else

{

 $purl = '/search/'.urlencode($oldkeyword);

}
继续找到

return $plist;

在它的上面加入


if($cfg_rewrite == 'Y' && !defined('DEDEMOB'))

{

  $plist = preg_replace("/PageNo=(\d+)/i",'-\\1.html',$plist);

}
最后还需要在你模板里搜索框代码改成静态的js提交搜索,参考下面代码,注意网址和标红的地方(如图)
<script type="text/javascript">

function search()

{

    var q = document.getElementById("q").value;

   window.location.href = "http://www.tkseo.cn/search/"+q+".html";

}

function enterIn(obj,evt)

{

    var evt = evt ? evt : (window.event ? window.event : null);

    if (evt.keyCode == 13)

   {

       var q = obj.value;

        window.location.href = "http://www.tkseo.cn/search/"+q+".html";

    }

}

</script>

<form action="" method="post" onsubmit="return false">

    <div class="form">

        <h4>搜索</h4>

        <input name="q" id="q" onkeydown="enterIn(this,event);" type="text" />

        <button type="submit" class="search-submit" onclick="search()">搜索</button>

    </div>

</form>

织梦DedeCms设置全站伪静态+全套伪静态规则

织梦DedeCms全套伪静态规则

iis6伪静态规则 httpd.ini

#列表页和列表分页

RewriteRule ^(.*)/plus/list-([0-9]+)\.html $1/plus/list\.php\?tid=$2

RewriteRule ^(.*)/plus/list-([0-9]+)-([0-9]+)-([0-9]+)\.html $1/plus/list\.php\?tid=$2&TotalResult=$3&PageNo=$4

#内容页和内容分页

RewriteRule ^(.*)/plus/view-([0-9]+)-([0-9]+)\.html $1/plus/view\.php\?arcID=$2&pageno=$3

#TAG标签伪静态规则

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]
#搜索页

RewriteRule ^(.*)/search/(.*)-([0-9]+)\.html  $1/plus/search.php?q=$2&PageNo=$3&pagesize=2&searchtype=title

RewriteRule ^(.*)/search/(.*)\.html  $1/plus/search.php?q=$2&pagesize=2&searchtype=title

iis7、8伪静态规则 web.config

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name="首页">

<match url="^index.html$" ignoreCase="false" />

<action type="Rewrite" url="index.php" appendQueryString="false" />

</rule>

<rule name="列表">

<match url="^plus/list-([0-9]+).html$" ignoreCase="false" />

<action type="Rewrite" url="/plus/list.php?tid={R:1}" appendQueryString="false" />

</rule>

<rule name="列表分页">

<match url="^plus/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="文章分页">

<match url="^plus/view-([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="tag首页">

<match url="^tags.html$" ignoreCase="false" />

<action type="Rewrite" url="tags.php" appendQueryString="false" />

</rule>

<rule name="tag列表">

<match url="^tags/(.*)(?:(\?.*))*$" ignoreCase="false" />

<action type="Rewrite" url="/tags.php?/{R:1}" appendQueryString="false" />

</rule>

<rule name="tag列表最后有左斜杠">

<match url="^tags/(.*)/(?:(\?.*))*$" ignoreCase="false" />

<action type="Rewrite" url="/tags.php?/{R:1}/" appendQueryString="false" />

</rule>

<rule name="tag列表分页">

<match url="^tags/(.*)/([0-9])(?:(\?.*))*$" ignoreCase="false" />

<action type="Rewrite" url="/tags.php?/{R:1}/{R:2}" appendQueryString="false" />

</rule>

<rule name="tag列表分页最后有左斜杠">

<match url="^tags/(.*)/([0-9])/(?:(\?.*))*$" ignoreCase="false" />

<action type="Rewrite" url="/tags.php?/{R:1}/{R:2}/" appendQueryString="false" />

</rule>

<rule name="搜索页分页">

<match url="^search/(.*)-([0-9]+).html$" ignoreCase="false" />

<action type="Rewrite" url="/plus/search.php?q={R:1}&amp;PageNo={R:2}&amp;pagesize=2&amp;searchtype=title" appendQueryString="false" />

</rule>

<rule name="搜索页">

<match url="^search/(.*).html$" ignoreCase="false" />

<action type="Rewrite" url="/plus/search.php?q={R:1}&amp;pagesize=2&amp;searchtype=title" appendQueryString="false" />

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>

apache伪静态规则 .htaccess

#列表页和列表分页

RewriteRule ^plus/list-([0-9]+)\.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]+)-([0-9]+)\.html$ plus/view.php?arcID=$1&pageno=$2

#TAG标签

RewriteRule ^tags\.html$ tags\.php

RewriteRule ^tags/(.*)(?:(\?.*))* tags\.php\?\/$1

RewriteRule ^tags/(.*)\/(?:(\?.*))*  tags\.php\?\/$1\/

RewriteRule ^tags/(.*)\/([0-9])(?:(\?.*))* tags\.php\?\/$1\/$2

RewriteRule ^tags/(.*)\/([0-9])\/(?:(\?.*))*  tags\.php\?\/$1\/$2\/

#搜索页

RewriteRule ^search/(.*)-([0-9]+)\.html$  plus/search.php?q=$1&PageNo=$2&pagesize=2&searchtype=title

RewriteRule ^search/(.*)\.html$  plus/search.php?q=$1&pagesize=2&searchtype=title

nginx伪静态规则

rewrite ^/plus/list-([0-9]+)\.html$ /plus/list.php?tid=$1;

rewrite ^/plus/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3;

rewrite ^/plus/view-([0-9]+)-1\.html$ /plus/view.php?arcID=$1;

rewrite ^/plus/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2;

rewrite ^/tags\.html$ /tags.php;

rewrite ^/tags/(.*)(?:(\?.*))* /tags.php?/$1;

rewrite ^/tags/(.*)/(?:(\?.*))*  /tags.php?/$1/;

rewrite ^/tags/(.*)/([0-9])(?:(\?.*))* /tags.php?/$1/$2;

rewrite ^/tags/(.*)/([0-9])/(?:(\?.*))*  /tags.php?/$1/$2/;

rewrite ^/search/(.*)-([0-9]+)\.html$  /plus/search.php?q=$1&PageNo=$2&pagesize=2&searchtype=title;

rewrite ^/search/(.*)\.html$  /plus/search.php?q=$1&pagesize=2&searchtype=title;

织梦DedeCms全站伪静态教程已经更新完毕,有问题可以留言交流。

 

 

原创文章,作者:admin,如若转载,请注明出处:http://www.tkseo.cn/41.html

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息