15053971836 注册 / 登录

dedecms手机版伪静态

时间: 阅读:222
dedecms手机版伪静态

最佳回答

临沂网站建设

临沂网站建设

2023-01-16 04:27:46

最近很多朋友来问织梦58的站点的伪静态是怎么写的,今天就拿出来和大家分享一下子。呵呵
dedecms(织梦)完美实现伪静态的方法
dedecms(织梦)完美实现伪静态的方法
测试版本:Dedecms V5.6版本
测试平台:Windows 7
测试环境:IIS 7.5
成功。其他条件下大同小异。
需要的条件:
1、服务器必须支持URL重写。
2、后台开启伪静态。
3、栏目设置使用动态。
4、添加文档时选择使用动态浏览。
5、修改php文件include/channelunit.func.php。
6、修改include/arc.listview.class.php。
7、编写rewrite规则。
操作步骤:
1、加载Rewrite模块(过程略)。
2、dedecms后台-系统-系统基本参数-核心设置-是否使用伪静态,选“是”。
3、把栏目和文档设置成为动态浏览。可以手动,用sql语句更快。
dedecms后台-SQL命令行工具,执行以下语句
将所有文档设置为“仅动态浏览”:update dede_archives set ismake=-1
将所有栏目设置为“使用动态页”:update dede_arctype set isdefault=-1
改成1就是静态。动态转换为静态后需要重新生成HTML。
添加栏目和文章默认为动态的一劳永逸的方法:
4、修改php文件include/channelunit.func.php
查找
return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
修改为
return "/view-".$aid.'-1.html';
查找
return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid";
修改为
return "/view.php?aid=$aid";
其实页可以不修改,就是URL地址会长一点。这个是文章页的。
查找
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
修改为
$reurl = "/list-".$typeid.".html";
这个必须修改,是栏目页的。
其实不修改也可以,但是URL地址会长一点。这个是文章的。
5、打开include/arc.listview.class.php
找到
$plist = str_replace('.php?tid=', '-', $plist);
(大约在第964行)
在其前面面添加一行
$plist = str_replace('plus/list', 'list', $plist);
这个是列表页分页rewrite的url格式的。
默认是http://www.xxx.com/plus/list-1-2-3.html
现在是http://www.xxx.com/list-1-2-3.html
6、 设置重写规则,在httpd.ini里面写上:
[ISAPI_Rewrite]
# 缓存3600秒 = 1 小时(hour)
CacheClockRate 3600
RepeatLimit 32
#dedecms Rewrite规则
RewriteRule ^(.*)/index.html$1/index.php
RewriteRule ^(.*)/list-([0-9]+).html$1/plus/list.php?tid=$2
RewriteRule^(.*)/list-([0-9]+)-([0-9]+)-([0-9]+).html$1/plus/list.php?tid=$2&TotalResult=$3&PageNo=$4
RewriteRule^(.*)/view-([0-9]+)-([0-9]+).html $1/plus/view.php?arcID=$2&pageno=$3
7、如果不使用动态首页
把rewrite规则中的
RewriteRule ^(.*)/index.html $1/index.php
去掉,或改为
RewriteRule ^(.*)/index.html $1/index.html
否则打开http://www.xxx.com/index.html时会陷入死循环。
说明:
1、
RewriteRule ^view-([0-9]+)-([0-9]+).html$/plus/view.php?aid=$1&pageno=$2
此为文章分页重写命令。
2、如果view替换成自己设置的其他词,则需要把include/arc.archives.class.php文件中的view同时替换掉。
3、重写后的URL如下:
文章页:http://www.xxx.com/view-1-1.html
列表页:http://www.xxx.com/list-1.html
如果需要改成如下格式:
文章页:http://www.xxx.com/abc/view-1-1.html
列表页:http://www.xxx.com/abc/list-1.html
include/channelunit.func.php中
return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
改为 return "/abc/view-".$aid.'-1.html';
return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid";
改为 return "/abc/view.php?aid=$aid";
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
改为 $reurl = "/abc/list-".$typeid.".html";
重写规则改为:
RewriteRule ^(.*)/index.html $1/index.php
RewriteRule^(.*)/abc/list-([0-9]+).html $1/plus/list.php?tid=$2
RewriteRule^(.*)/abc/list-([0-9]+)-([0-9]+)-([0-9]+).html$1/plus/list.php?tid=$2&TotalResult=$3&PageNo=$4
RewriteRule^(.*)/abc/view-([0-9]+)-([0-9]+).html$1/plus/view.php?arcID=$2&pageno=$3
4、伪静态可能会出现多个url都是指向相同页面,如果看重SEO效果,则可用robots.txt屏蔽多余url。http://www.dede58.com/a/dedeaz/1677.html

最新回答共有5条回答

  • 游客
    回复
    2023-01-16 07:07:58

    请问怎样建立一个属于自己的网站?

    1、准备好域名,做网站的基本条件

    2、准备好空间。(无需备案)

    3、如果自己做的话,需要一个后台程序,列如:pageadmin,dz等等后期网站代码自己控制管理,扩展修改什么的更灵活。

    4、需要一套模板,如果自己懂前台设计可以按照自己的需求来设计

    5、需要一个本地的搭建环境的软件(也可以使用临时域名)

  • 游客
    回复
    2023-01-16 07:07:58

    创建一个网站真的不难,如果你是新手,我想我告诉你以下几个步骤,你也可以建成一个不错的网站,个人认为网站最终还是需要以内容取得胜利。那么怎么创建一个网站呢?

    首先,你要有一个域名。域名是什么,就好比是你家的地址,只有有了域名才算是拥有了自己的网站。域名可以在网上申请,但是国内有个要求,需要有空间,有接入商,有备案。当然,也有一些免备案的,可以自己去搜索一下。域名需要解析到你的服务器空间上,依情况不同可能是A记录,也可能是别名解析。

    其次,你要有一个空间。通过域名访问的文件需要有个寄存的场所,这就需要有一个空间,现在比较流行的有虚拟主机(比较便宜)、VPS主机,云主机,独立服务器等等,这个需要你自己选择。虚拟主机相对来说比较简单,各项功能就可以在控制面板实现。这里要说明的是,在完成域名解析后,空间也要绑定域名,实现双向互通。

    第三,你需要一个源码程序。现在可以免费的有织梦、帝国、discuz等等,免费下载,自己安装,都有教程,这并不是一个难题。

    第四,你需要有内容。网站的内容就像是你家房子的装修,有了域名就有了地址,有了空间就有了房子,但房子是毛坯的话,自然留不住过客,需要我们进行装修,就需要按照自己的想法开设不同的栏目,每个栏目下面增加丰富多彩的内容,吸引更多的网友来浏览。

    第五,你需要有毅力和决心。网站的成功并不是一朝一夕,需要长期坚持更新内容,要不断地对网站进行推广,留住读者,不断提高搜索引擎权重,带来更多的流量。

  • 建站最低500起
    回复
    2023-01-16 07:07:58

    承接各类网站建设、网页设计、价格合理、经验丰富

  • 游客
    回复
    2023-01-16 06:06:48

    其实网站形态分两种,静态和动态,伪静态并不是真正的静态,实质上也是动态页面。

    静态页面,除了我们常见的.htm和 .html以后,.asp .php .jsp也可以是静态的,关键是看.asp .php .jsp这些页面是否调用了数据库里的东西,如果没有调用,它就是静态页面,调用了,就是动态页面。

    动态页面的含意就是,网页会根据访问者的请求,从服务器数据库里筛选访问者想要的内容显示到访问者的浏览器上,不同的人访问同一页面,会看到不同的内容,这个网页本身里并没有数据,只有一些代码,访问者看到的,都是服务器里调出来的。

    而静态页面,是事先把文字图片都放到页面里了,不需要从数据库里调,访问者访问一个页面,会直接从服务器把这个页面读出来显示到访问者的浏览器里,不需要数据库的支持。

    伪静态页面,其目的是为了更好的被搜索引擎收录而通过一定的规则,把动态页面的地址转换成以htm或html结尾的地址,看起来是静态的,实际是依然是动态页面。

    现在很多CMS网站程序,都可以把动态页面直接生成真静态的,就是所访问的页面是真真实实存的,根静态页面一样。这样的好处是访问速度快,不需要频繁去读取筛选服务器里的数据,减轻了服务器的压力,同时也能更好地被搜索引擎收录。