石家庄做网站,石家庄网站优化,石家庄网络推广,石家庄网络公司
当前位置:主页 > 新闻资讯 > 技术笔记 >

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

发表日期:2019-12-22 21:04文章编辑:织梦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、列表页和内容页伪静态链接
打开 \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.2l3.net/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.2l3.net/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>
 
伪静态规则
懒人包已经打包了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" />
                    <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;

如没特殊注明,文章均来自网络!转载请注明来自:https://www.yousouke.com/News/jsbj/650.html

网站设计案例推荐

热门新闻

DEDECMS提示Fatal error错误

Nginx的Gzip压缩配置

织梦DedeCMS定时自动生成首页HTML的实现方法

IIS7下js文件启用Gzip后却不压缩的解决方法

dede织梦教程:列表页、文章页调用所有顶级栏目文章的方法

WordPress 集成百度 Sitemap 实时推送代码

织梦DedeCMS定时自动生成首页HTML的实现方法

WORDPRESS文章中微信打赏功能的2种实现方法

相关新闻

DedeCms织梦TAG标签静态生成html,url拼音及分页优化的方法

织梦文章内容页调用同分类栏目下的其它文章方法

DedeCMSv5.7 tag标签长度限制12字节修改方法

Dedecms如何显示文章数量的方法

dede出现search.php on line 44 search.php报错

dedecms大量删除文章后,列表页显示错误修复办法

推荐新闻

IIS7下js文件启用Gzip后却不压缩的解决方法

帝国cms怎么实现页面自动生成html

织梦CMS文章模型整合下载功能,可判断点数,会员组等下载权限

帝国cms如何在tags列表页获取当前tag的ID方法

dede简略标题调用标签

织梦DedeCMS实现{dede:channel}标签增加数字序号的方法

织梦DEDECMS教程:添加RSS订阅功能

正确配置 WordPress 邮件SMTP

帝国cms灵动标签调用字母所属的信息