博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何实现phpcms v9_4X版本tag的伪静态?
阅读量:6912 次
发布时间:2019-06-27

本文共 1763 字,大约阅读时间需要 5 分钟。

hot3.png

这两个月来写的文章越来越少了,不是懒,因为太忙了--为客户赶做网站。因为客户指定要使用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

转载于:https://my.oschina.net/u/1260221/blog/421805

你可能感兴趣的文章
自动领豆golang版
查看>>
Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
查看>>
Android ***测试学习手册(二)准备实验环境
查看>>
向Web开发人员推荐12款优秀的 Twitter Bootstrap 组件和工具
查看>>
企业如何选择Hadoop
查看>>
maven基本概念
查看>>
IntelliJ IDEA教程
查看>>
R语言读取空间数据以及ArcGIS中OLS工具回归结果可视化R语言版
查看>>
iOS 浅谈对MVC、传值、和沙盒机制的理解
查看>>
直播疑难杂症排查(2) — 播放卡顿
查看>>
二叉树之方法实现
查看>>
FTP-Vsftpd的高级应用:虚拟用户
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
hadoop集群配置datanode无法启动的原因
查看>>
linux 安装优化脚本
查看>>
Linux 系统启动过程
查看>>
JAVA知识点随心记
查看>>
一天一点T-SQL:获取每个计划任务的步骤
查看>>
CET免准考证号查分咯
查看>>