织梦DEDECMS全站目录式伪静态设置教程(移动端和PC端url一致)

织梦DEDECMS全站目录式伪静态设置教程(移动端和PC端url一致)

静态页面对于网站的收录来说更加友好,并且伪静态后织梦网站不用每次生成,减少操作步骤。所以织梦DEDECMS在进行网站建设的时候,可以根据自己的需求对网站进行伪静态处理。

下面SEOGO以www.zhaozongjie.com站点详细操作步骤为例,进行伪静态的详细介绍。

首先看看效果

找总结网PC端的地址:

栏目页:http://www.zhaozongjie.com/theme/

内容页:http://www.zhaozongjie.com/theme/12676.html

找总结网移动端的地址:

栏目页:http://m.zhaozongjie.com/theme/

内容页:http://m.zhaozongjie.com/theme/12676.html

下面开始操作(先备份网站,以防操作失误)。

先把下面的文件按照你的网站编码,下载覆盖到网站空间根目录
伪静态UTF8
伪静态GBK

网站后台设置:

后台-系统参数-核心设置-开启伪静态

开启伪静态
核心设置里面,关闭绝对网址
关闭绝对网址

安装全站动静态插件,设置全站为动态

(解压密码:www.seogo.me)
dedecms织梦全站动静态设置插件

后台添加两个新变量

变量名称:cfg_wap

变量类型:文本

参数说明:手机站网址

变量值:http://m.zhaozongjie.com(你的手机站网址)

所属组:站点设置
站点设置
变量名称:cfg_rewritem

变量类型:布尔(Y/N)

参数说明:手机版伪静态

变量值:Y

所属组:站点设置
站点设置
变量设置成功后
变量

模板里把搜索框代码改成静态的js提交搜索,参考下面代码,注意下面的域名改成自己的

PS:www.zhaozongjie.com使用了百度站内搜索,所以直接跳过了第四步

电脑端

<script type="text/javascript">
function search()
{
    var q = document.getElementById("q").value;
    window.location.href = "http://www.zhaozongjie.com/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.zhaozongjie.com/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>

手机端

<script type="text/javascript">
function search()
{
    var q = document.getElementById("q").value;
    window.location.href = "http://m.zhaozongjie.com/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://m.zhaozongjie.com/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>

分别把电脑版及手机版的伪静态规则设置好,根据你的运行环境选择相应的规则。

Nginx伪静态规则

注意:把大括号{}里的代码放到你的nginx配置文件location /{}里面去

PC端

location / {
    #dedecms电脑端目录结构nginx伪静态
    #首页
    rewrite ^/index\.html$ /index.php;
    #TAG标签
    rewrite ^(.*)/tags\.html $1/tags.php;
    rewrite ^(.*)/tags/(.*).html $1/tags.php?/$2;
    rewrite ^(.*)/tags/(.*)\/([0-9])(?:(\?.*))\.html* $1/tags.php?\/$1\/$2;
    #列表栏目
    rewrite ^/(.*)/$ /plus/list.php?tid=$1;
    #列表栏目分页
    rewrite ^/(.*)/list_([0-9]+)_([0-9]+)\.html$ /plus/list.php?tid=$1&PageNo=$2;
    #文章页
    rewrite ^/(.*)/([0-9]+)\.html$ /plus/view.php?aid=$1;
    #文章页分页
    rewrite ^/(.*)/([0-9]+)_([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2;
    #搜索页
    rewrite ^/search/(.*)-([0-9]+)\.html$  /plus/search.php?q=$1&PageNo=$2&pagesize=10&searchtype=title;
    rewrite ^/search/(.*)\.html$  /plus/search.php?q=$1&pagesize=10&searchtype=title;
}

移动端

location / {
    #首页
    rewrite ^/index\.html$ /index.php;
    #TAG标签
    rewrite ^(.*)/tags\.html $1/tags.php;
    rewrite ^(.*)/tags/(.*).html $1/tags.php?/$2;
    rewrite ^(.*)/tags/(.*)\/([0-9])(?:(\?.*))\.html* $1/tags.php?\/$1\/$2;
    #列表栏目
    rewrite ^/(.*)/$ /list.php?tid=$1;
    #列表栏目分页
    rewrite ^/(.*)/list_([0-9]+)_([0-9]+)\.html$ /list.php?tid=$1&PageNo=$2;
    #文章页
    rewrite ^/(.*)/([0-9]+)\.html$ /view.php?aid=$1;
    #文章页分页
    rewrite ^/(.*)/([0-9]+)_([0-9]+)\.html$ /view.php?aid=$1&pageno=$2;
    #搜索页
    rewrite ^/search/(.*)-([0-9]+)\.html$  /search.php?q=$1&PageNo=$2&pagesize=10&searchtype=title;
    rewrite ^/search/(.*)\.html$  /search.php?q=$1&pagesize=10&searchtype=title;
}

Apache伪静态规则

PC端

#dedecms手机端目录结构apache伪静态
RewriteEngine On
RewriteBase /
#首页
RewriteRule ^index\.html$ index\.php
#TAG标签
rewrite ^(.*)/tags\.html $1/tags.php;
rewrite ^(.*)/tags/(.*).html $1/tags.php?/$2;
rewrite ^(.*)/tags/(.*)\/([0-9])(?:(\?.*))\.html* $1/tags.php?\/$1\/$2;
#列表栏目
RewriteRule ^(.*)/$ /list.php?tid=$1
#列表栏目分页
RewriteRule ^(.*)/list_([0-9]+)_([0-9]+)\.html$ /list.php?tid=$1&PageNo=$2
#文章页
RewriteRule ^(.*)/([0-9]+)\.html$ /view.php?aid=$1
#文章页分页
RewriteRule ^(.*)/([0-9]+)_([0-9]+)\.html$ /view.php?aid=$1&pageno=$2
#搜索页
RewriteRule ^search/(.*)-([0-9]+)\.html$  /search.php?q=$1&PageNo=$2&pagesize=10&searchtype=title
RewriteRule ^search/(.*)\.html$  /search.php?q=$1&pagesize=10&searchtype=title

移动端

#dedecms手机端目录结构apache伪静态
RewriteEngine On
RewriteBase /
#首页
RewriteRule ^index\.html$ index\.php
#TAG标签
rewrite ^(.*)/tags\.html $1/tags.php;
rewrite ^(.*)/tags/(.*).html $1/tags.php?/$2;
rewrite ^(.*)/tags/(.*)\/([0-9])(?:(\?.*))\.html* $1/tags.php?\/$1\/$2;
#列表栏目
RewriteRule ^(.*)/$ /list.php?tid=$1
#列表栏目分页
RewriteRule ^(.*)/list_([0-9]+)_([0-9]+)\.html$ /list.php?tid=$1&PageNo=$2
#文章页
RewriteRule ^(.*)/([0-9]+)\.html$ /view.php?aid=$1
#文章页分页
RewriteRule ^(.*)/([0-9]+)_([0-9]+)\.html$ /view.php?aid=$1&pageno=$2
#搜索页
RewriteRule ^search/(.*)-([0-9]+)\.html$  /search.php?q=$1&PageNo=$2&pagesize=10&searchtype=title
RewriteRule ^search/(.*)\.html$  /search.php?q=$1&pagesize=10&searchtype=title

电脑端模板添加跳转代码

主页

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_wap/}">
<script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:global.cfg_wap/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

列表页

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_wap/}{dede:type}[field:typeurl/]{/dede:type}">
<script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:global.cfg_wap/}{dede:type}[field:typeurl/]{/dede:type}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

内容页

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_wap/}{dede:field.id runphp=yes}$result=GetOneArchive(@me);@me=$result['arcurl'];{/dede:field.id}">
<script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:global.cfg_wap/}{dede:field.id runphp=yes}$result=GetOneArchive(@me);@me=$result['arcurl'];{/dede:field.id}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

标签修改

如果网站出现样式问题或者是数据调用不出来。你可以按照下面的方法修改你的网站模板

css、js、images 改成绝对路径,例如 assets/css/ 改成 /assets/css/

index.php 改成 {dede:global.cfg_mobile/}

list.php?tid=[field:id/] 改成 [field:typelink/]

list.php?tid=~id~ 改成 ~typelink~

list.php?tid={dede:field name=’id’/} 改成 {dede:field.typeurl/}

view.php?aid=[field:id/] 改成 [field:arcurl/]

[field:litpic/] 改成 [field:global.cfg_basehost/][field:litpic/]

[field:image/] 改成 <lt;img src=“[field:global.cfg_basehost/][field:litpic/]”>

上一页标签 {dede:prenext get=’pre’/}

改成

{dede:prenext get=pre runphp=yes}
$preurl = @me;
preg_match(‘/aid=(\d*)/’,$preurl,$match);
$result = GetOneArchive($match[1]);
@me = !empty($result) ? “上一篇:<a href=\”{$result[‘arcurl’]}\”>{$result[‘title’]}</a>” : “上一篇:没有了”;
{/dede:prenext}

下一页标签 {dede:prenext get=’next’/}

改成

{dede:prenext get=next runphp=yes}
$preurl = @me;
preg_match(‘/aid=(\d*)/’,$preurl,$match);
$result = GetOneArchive($match[1]);
@me = !empty($result) ? “下一篇:<a href=\”{$result[‘arcurl’]}\”>{$result[‘title’]}</a>” : “下一篇:没有了”;
{/dede:prenext}

文章内容 {dede:field.body/}

改成

{dede:field.body runphp=yes}
global $cfg_basehost;
$str = @me;
$search = ‘/(<img.*?)width=([“\’])?.*?(?(2)\2|\s)([^>]+>)/is’;
$search1 = ‘/(<img.*?)height=([“\’])?.*?(?(2)\2|\s)([^>]+>)/is’;
$search2 = ‘#(<img.*?style=”.*?)width:\d+px;([^”]*?.*?>)#i’;
$search3 = ‘#(<img.*?style=”.*?)height:\d+px;([^”]*?.*?>)#i’;
$content = preg_replace($search,’$1$3′,$str);
$content = preg_replace($search1,’$1$3′,$content);
$content = preg_replace($search2,’$1$2′,$content);
$content = preg_replace($search3,’$1$2′,$content);
@me = $content;
@me = str_replace(‘/uploads/allimg/’, $cfg_basehost.’/uploads/allimg/’, $content);
{/dede:field.body}

栏目内容 {dede:field.content/}

改成

{dede:field.content runphp=yes}
global $cfg_basehost;
$str = @me;
$search = ‘/(<img.*?)width=([“\’])?.*?(?(2)\2|\s)([^>]+>)/is’;
$search1 = ‘/(<img.*?)height=([“\’])?.*?(?(2)\2|\s)([^>]+>)/is’;
$search2 = ‘#(<img.*?style=”.*?)width:\d+px;([^”]*?.*?>)#i’;
$search3 = ‘#(<img.*?style=”.*?)height:\d+px;([^”]*?.*?>)#i’;
$content = preg_replace($search,’$1$3′,$str);
$content = preg_replace($search1,’$1$3′,$content);
$content = preg_replace($search2,’$1$2′,$content);
$content = preg_replace($search3,’$1$2′,$content);
@me = $content;
@me = str_replace(‘/uploads/allimg/’, $cfg_basehost.’/uploads/allimg/’, $content);
{/dede:field.content}

还有一个要注意,伪静态后,访问后台管理地址会出错

有两个解决办法:

①在后台管理地址后面加上index.php访问

②删除栏目伪静态规则,使用后台生成静态栏目

SEOGO建议使用第二种方法,如使用第一种方法,会导致无法出现404状态码,就是你访问网站上一个不存在的栏目url,该栏目的url状态码会是200,不利于SEO。

最后修改:
赞赏支持
最大的开心,莫过于你请我吃辣条

已有 2 条评论

  1. bandar judi online bandar judi online 25天前

    Greetings! Very useful advice in this particular post!
    It is the little changes which will make the most important changes.
    Many thanks for sharing!

  2. cess cess 78天前

    哇,谢谢分享,实用了