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

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

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

你可能感兴趣的文章
·非专业网管经历的回顾之写作感言
查看>>
FileMaker Pro 12 一点认识
查看>>
我的友情链接
查看>>
IOS开发之百度地图API(BaiTumapAPI应用)
查看>>
Python中的getattr()函数详解
查看>>
centos+apache+python34+django+mod_wsgi 开发环境搭建
查看>>
近 100 个 Linux 常用命令大全
查看>>
Linux之history命令显示用户名和操作时间
查看>>
源码安装lamp rhel5.5已测试
查看>>
Gradle 获取依赖列表类似maven的mvn dependency:list
查看>>
win10 nas
查看>>
我的友情链接
查看>>
svn搭建
查看>>
查看Apache并发请求数及其TCP连接状态解释 [转载--张宴]
查看>>
apache+svn服务搭建
查看>>
自定义tabBar中间的添加按钮
查看>>
docker php-fpm默认镜像安装 php扩展
查看>>
素数伴侣
查看>>
nginx从入门到实践
查看>>
C++_封装弹出文件夹选择框
查看>>