关于伪静态的问题,原理上来说,是比较简单的,一方面是程序输出伪静态之后的链接,另一方面是Web服务器根据输出的链接进行URL重写。phpcms v9的tag标签伪静态也是遵循的这个原理,下面就分享一下phpcms的tag标签伪静态的方法。

首先是让程序输出tag伪静态之后的URL链接,因为phpcms有一个URL规则管理的功能,我们可以直接在URL规则管理中添加一个URL规则,并记住前面的id号,比如33,这个在后面的代码中会进行调用,如下所示:

{$tag}_{$page}.html

在代码中写入phpcms的URL规则,打开打开phpcms/modules/content/tag.php文件,找到如下代码:

$infos = $keyword_data_db->listinfo($where, '`id` DESC', $page, $pagesize);

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

$urlrules = getcache('urlrules','commons');

$urlrule = $urlrules[33];//调用url规则

然后再把该文件中的如下代码:

$infos = $keyword_data_db->listinfo($where, '`id` DESC', $page, $pagesize);

修改为:

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

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

通过上面的操作,已经把前端输出的URL改为伪静态的形式了,但是在网站前端输出的话,还需要修改网站的模板文件。这里以phpcms默认的模板文件为例,打开phpcms\templates\default\content\show.html,找到:

{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,把分页标签

{$pages}

改为:

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

最后是让Web服务器对链接进行重写,以Apache为例,在在.htaccess文件里加入如下重写规则:

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,找到:

$tag = safe_replace(addslashes($_GET['tag']));

在其下方添加如下的代码:

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

如果还不行,不妨调换"gb2312","utf-8"的位置。以上就是phpcms v9的tag标签页伪静态的全部教程了,phpcms的伪静态和织梦DedeCMS的伪静态没什么太大的区别,二者可以相互参考。

phpcms v9 php标签,实现phpcms V9标签Tag伪静态相关推荐

  1. phpcms v9 模板标签技巧,模板标签常用方法

    phpcms v9 模板标签技巧,模板标签常用方法 phpcms v9模板制作常用代码集合 1.截取调用标题长度 {str_cut($r[title],36,'')} 2.格式化时间 调用格式化时间 ...

  2. PHP后端美化,PHPCMS V9后台模板美化 PHPCMS后台美化模版 - 下载 - 搜珍网

    压缩包 : dfc73586ea4c1c0d867a8f00df2202.zip 列表 PHPCMS V9后台模板/ PHPCMS V9后台模板/phpcms/ PHPCMS V9后台模板/phpcm ...

  3. Phpcms所有系统变量列表 Phpcms V9 文件目录结构

    Phpcms所有系统变量列表 用户变量: view plaincopy to clipboardprint? $_userid    用户id   $_username 用户名   $_areaid  ...

  4. phpcms模板解析php标签失败,phpcms模板解析嵌套标签解析失败

    PHPCMS的模板解析函数是/phpcms/libs/classes/template_cache.class.php这个类中的template_parse函数. 我把这个文件拿出来,然后在下面直接写 ...

  5. html中section与div,如何在html中的section标签内包含div标签

    我正在制作一个完整版块的页面网站,如this.每个页面都有自己的标签.目前我的网页有4个部分(呈现不同的背景颜色).如何在html中的section标签内包含div标签 我的第一部分有一个容器div, ...

  6. html无序列表的滚动效果,html无序列表标签和有序列表标签使用示例

    原标题:html无序列表标签和有序列表标签使用示例 一.上下层列表标签: : 上层dt 下层dd:封装的内容会被自动缩进的效果 复制代码 代码如下: 运动户外 板鞋 篮球鞋 足球鞋 跑步鞋 二.定义有 ...

  7. html标签的显示模式(块级标签,行内标签,行内块标签)(转)

    html标签的显示模式(块级标签,行内标签,行内块标签) 今天讲课的时候,讲到了html中的标签的显示模式,大致分为块级标签和行内标签.那么初学者在刚使用标签的时候会发现有些属性在一些标签上不起作用, ...

  8. H5新增的标签以及改良的标签

    1>OL标签的改良 start type  reversed:翻转排序 2>datalist标签自动补全的使用 3>progress标签的使用:进度条 4>meter标签的应用 ...

  9. seaborn箱图(box plot)可视化、并且使用matplotlib的meanprops函数在箱图中自定义均值标签、标签形状、标签大小、标签填充色彩、标签边缘颜色

    seaborn箱图(box plot)可视化.并且使用matplotlib的meanprops函数在箱图中自定义均值标签.标签形状.标签大小.标签填充色彩.标签边缘颜色 目录

最新文章

  1. mysql merge union_MySQLMerge存储引擎
  2. 如何使用意图将对象从一个Android活动发送到另一个?
  3. 【转】快捷支付详解--比较详细
  4. struts2访问session的两种方法
  5. Apache常见配置错误
  6. 同样是查询语言,它和 SQL 竟然有这么多不同
  7. WebKit 内核源码分析 (三) Page
  8. java mysbatis select_java相关:详解Mybatis中的select方法
  9. pycharm cant open file_PyCharm
  10. 对51CTO的初步看法
  11. linux中类似findfirst的函数,findfirst函数的用法
  12. idp 苹果开发账号续费
  13. KEIL5 C51软件安装详细图文教程
  14. 流畅的python学习笔记第一篇之为什么要学习这本书
  15. H3C 无线WLAN侧AC+FIA配置
  16. 十大知识领域 5大管理过程 47个子过程
  17. 如何在Power BI Desktop中创建词云生成器
  18. w7计算机管理器怎么打开,windows7系统任务管理器怎么打开?快捷键是什么?
  19. 当页面有缓存 路由传参无法更新试图
  20. C语言 求解一元二次方程组

热门文章

  1. 红昭愿用计算机按的歌谱,红昭愿简谱-音阙诗听演唱-孙世彦曲谱
  2. 马云的创业故事及他人生中的摆渡人-辞去“铁饭碗”创办中国黄页(四)
  3. 解决nginx文件服务器访问403
  4. 题解 P3645 【[APIO2015]雅加达的摩天楼】
  5. 微信小程序 录音+播放组件封装(源码)
  6. hash破解-hashcat
  7. python阶乘求和的代码_Python阶乘求和的代码详解
  8. ##关于用vector存取指针及相关delete问题(用序偶对解决0-1背包)
  9. 单片机数组前的code的作用
  10. 应用哈希值更改图片hash