如何实现phpcms v9_4X版本tag的伪静态?

这两个月来写的文章越来越少了,不是懒,因为太忙了--为客户赶做网站。因为客户指定要使用phpcms v9,还要求使用phpcms
v9_42版本实现tag伪静态,在接手的时候phpcms v9_42是最新版本,而现在phpcms官方已经发布phpcms v9_5.X了。对于phpcms
v9实现tag伪静态的实现方法,百度一下就会一大堆,但却是phpcms
v9_2X版本的,而且最终实现的结果是:域名/关键词_6_1.html,我看得都觉得别扭--下面我会把URL的尾巴砍得更短些。

phpcms v9_42版本是目前(2013-10-29)最新的版本,相比于phpcms
v9_2X的tag模块的代码,改动较大,于是乎,百度得来的phpcms
v9_2X版本tag伪静态的实现方法就OUT了。怎么办呢?下面我就把建站过程中整理的phpcms
v9_42版本下tag伪静态的实现方法放出来,绝对是最新(2013.12.10)的了。

TAG模块伪静态设置

1、添加url规则

在后台->扩展->url规则里添加一个新的规则用于评论模块,如下所示:

{$tag}_{$page}.html

添加完成后记住前面的id号,比如32。

2、在代码里写入url规则

打开phpcms/modules/content/tag.php文件,找到:






1 $infos $keyword_data_db->listinfo($where‘`id` DESC‘$page$pagesize);

这一行往上面添加以下代码:






1 $urlrules = getcache(‘urlrules‘,‘commons‘);






2 $urlrule $urlrules[32];//调用url规则

然后再把






1 $infos $keyword_data_db->listinfo($where‘`id` DESC‘$page$pagesize);

改成






1 $infos $keyword_data_db->listinfo($where‘`id` DESC‘$page$pagesize,‘‘,‘9‘,$urlrule,Array(‘tag‘=>urlencode($tag)));

目的就是往查询语句里面添加前面设置的url规则。

3、修改模板

打开phpcms\templates\default\content\show.html,找到:






1 {APP_PATH}index.php?m=content&c=tag&a=lists&tag={urlencode($keyword)}

改成

{APP_PATH}{urlencode($keyword)}_1.html

打开phpcms\templates\default\content\tag.html,把分页标签






1 {$pages}

改成






1 {str_replace("_0.html","_1.html",$pages)}

4、在.htaccess文件里加入URL规则

在网站的根目录的.htaccess文件(没有的自己建)加入以下URL规则






1 RewriteRule ^(.*)_([0-9]+).html index.php?m=content&c=tag&a=lists&tag=$1&page=$2

最后显示出来的URL样式如下:http:/w3note.com/关键词_1.html

可能会遇到的问题

在操作系统:Linux ,点击标签时会出现找不到此关键字的提示,原因是转码问题,而在本地测试则没有这种情况。

解决的办法

打开phpcms/modules/content/tag.php

找到






1 $tag = safe_replace(addslashes($_GET[‘tag‘]));

在其下面添加如下代码






1 $tag = iconv("gb2312","utf-8",$tag); //转编码

如果还不行,不防试着调换"gb2312","utf-8"的位置。

转载:w3note.com/web/133.html

时间: 2024-10-13 03:40:29

如何实现phpcms v9_4X版本tag的伪静态?的相关文章

phpcms tag页调用缩略图

\phpcms\modules\content\tag.php 找到: 'title, description, url, inputtime, style' 改成:'title, thumb, description, url, inputtime, style'

PhpCms 笔记

 一.建立虚拟站点 1.先更改www目录下的站点名称,再找到apache, 打开"Apache2\conf\extra"下的"httpd-vhosts.conf"文件,添加上自己需要添加的站点. 例: 1 2 3 4 5 6 7 8 9 10 11 12 13 <VirtualHost *:80>  ServerAdmin [email protected]  DocumentRoot "D:/wamp/www/wangtuo"  S

phpcms笔记

一.建立虚拟站点 1.先更改www目录下的站点名称,再找到apache, 打开"Apache2\conf\extra"下的"httpd-vhosts.conf"文件,添加上自己需要添加的站点. 例:<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "D:/wamp/www/wangtuo" ServerName www.wangtuo.com ErrorLog

织梦系统dedecms如何开启伪静态

做为一名网站建设工程师,必须要考虑到网站优化方面的工作,那么选择CMS系统的时候,有良好的网站 优化功能就是一个好的CMS的标准之一,而系统是否支持伪静态,则是URL优化的工作之一,而织梦系统能良好的支持伪静态功能,这就是很多se oer爱好织梦系统的原因之一. 接下来,我们讲解下如何开启织梦系统的伪静态. 1.系统伪静态功能开启 打开dede后台,点击系统基本参数,然后点"核心设置",找到"是否使用伪静态:"(或者页面内搜索,参数比较多),选择是,如下图所示: 2

window安装PHPCMS V9

一.准备工作 搭建环境 :参考:Windows下搭建PHP开发环境及相关注意事项 PHPCMS V9 :下载适合自己 PHPCMS V9 版本到本地或服务器,下载地址:http://www.phpcms.cn/html/download/  说明:官方提供了 2 种不同的编码.包括 GBK 简体中文版(推荐).UTF-8 简体中文版.如果您的站点主要是国内会员,推荐您使用 GBK 版本. 将install_package文件添加到Apache24\htdocs目录下 phpMyAdmin :下载

phpcms 采集教程

Phpcms网站管理系统目前最新版本为Phpcms v9,作为国内主流CMS系统之一,目前已有数万网站的应用规模.那么其自带的采集模块功能如何呢,来看看吧. 文章采集 Phpcms v9默认内置有文章.图片.下载3个内容模型,先来看最普通的文章采集.以采集新浪互联网频道,国内滚动新闻栏目为例http://roll.tech.sina.com.cn/internet_chinalist/index_1.shtml 1.进入后台,内容——内容发布管理——采集管理——添加采集点.(不同于Phpcms以

Phpcms v9 poster_click函数注入漏洞(GBK和utf8都存在)(已修复)

Phpcms v9 poster_click函数注入漏洞(GBK和utf8都存在)(已修复) 2012-12-21      0个评论       收藏    我要投稿 一.        漏洞原理: 漏洞存在于poster模块<ignore_js_op>可见我们可以控制HTTP_REFERER,而且不受magic_quotes_gpc()控制.所以能够成功注入sql语句里,导致产生sql注入漏洞. 二.        漏洞利用效果及危害:此漏洞存在于最新的Phpcms v9版本,下面是官方的

对帝国cms、dedecms、phpcms等负载测试总结

来自:http://www.chinaz.com/web/2013/0729/311360.shtml 担心被骂,本不想写这篇文章.犹豫良久,最终还是决定写.希望能够帮助到一些朋友,认识到数据库索引正确设计的重要性. 由于我比较懒,就简单用文字描述一下,就懒得切图片证明了,懂技术的朋友可以自己测试一下,可证实我的测试结果是否真实.不懂技术的朋友信不信也无妨. 测试程序: CMS程序:帝国cms dedecms phpcms 论坛程序:discuz phpwind xiuno 负载测试结果: xi

Git版本控制原理和常用指令说明

平时在Android Studio开发Android项目,习惯了点击右键或图标直接拉新fetch,pull,commit和push.但是必要的时候还得在终端输入命令行.比如正在开发新版本v3.0,老板说上个版本的某个地方操作容易误导客户,需要及时改回来发版.这时就需要创建新的分支2.1,回退到上个稳定版本2.0稳定版本tag进行修改,同时正在开发的版本也需要修改,那么可以通过git cherry -pick <commit id>来进行同步修改. 上了一定年纪,记性不太好(虽然刚毕业一年).每