欢迎来到欣怡建站!我们致力于提供优质的网站建站服务
注册

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

网站后台开启伪静态选项

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



网站后台设置整站为动态

这里可以借助一个小插件来完成,一劳永逸
插件下载懒人包

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

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

作者:欣怡建站 挑错 时间:2020-01-09 04:54
首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(984818011)进行交流。
相关教程
在线客服