• 网站认证
  • 教程:5,345|
  • 话题:4392|
  • 评论:45|
  • 会员:177|
  • 注册
  • 查看作者
  • 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

    网站后台开启伪静态选项

    网站后台设置整站为动态
    这里可以借助一个小插件来完成,一劳永逸
    插件下载懒人包

    网站文件修改
    1、列表页和内容页伪静态链接

    打开 includehelperschannelunit.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、手机版列表页分页不使用电脑版伪静态
    打开 includerc.listview.class.php 找到
    if($cfg_rewrite == 'Y')

    大概在1198行,把这一行改成
    if($cfg_rewrite == 'Y' && !defined('DEDEMOB'))

    3、TAG标签伪静态链接
    打开 include aglib ag.lib.php 找到
    $row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

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

    4、TAG标签分页伪静态链接
    打开 includerc.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、搜索页伪静态链接
    打开 plussearch.php 找到
    $t1 = ExecTime();

    在它的下面加入
    $keyword = preg_replace("/-(d+)/i",'',$keyword);

    $oldkeyword = preg_replace("/-(d+)/i",'',$oldkeyword);
    打开 includerc.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",'-.html',$plist);

    }
    最后还需要在你模板里搜索框代码改成静态的js提交搜索,参考下面代码,注意红框的地方

    <script type="text/javascript">

    function search()

    {

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

        window.location.href = "/"+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 = "/"+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>

    #p#分页标题#e#
    </form>

    伪静态规则
    懒人包已经打包了iis6、iis7、8、apache、nginx的规则文件
    下面再写一下各规则

    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" />

    #p#分页标题#e#
                        <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;

  • 0
  • 0
  • 0
  • 68
  • 请登录之后再进行评论

    登录
  • 做任务
  • 实时动态
  • 偏好设置
  • 自定义-1
  • 单栏布局 侧栏位置: