首頁 > php教程 > PHP源码 > 主體

phpcms TAG伪静态

PHP中文网
發布: 2016-05-23 16:41:06
原創
1878 人瀏覽過


看了网上很多的关于phpcms tag伪静态设置的文章,都是做成http://host/**.html的形式。个人还是比较喜欢类似http://host/tag/**的样式。TAG模块伪静态设置方法如下:

1、在后头添加添加url规则

在后台-<扩展-listinfo($where, &#39;`id` DESC&#39;, $page, $pagesize);

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

$urlrules = getcache(&#39;urlrules&#39;,&#39;commons&#39;);

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

然后再把

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

改成

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

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


3、修改全站的内容页模板,如果有多个不同的模型栏目使用了不同的内容页模板也需要全部修改。我的网站里面就有好多不同的内容模板,改的时候就需要全部改掉。

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

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

改成

/tag/{urlencode($keyword)}

修改分页标签,为的是标签搜索出来的列表url里面不出现0,
打开phpcms\templates\default\content\tag_list.html,把分页标签

{$pages}

改成

{str_replace("0","1",$pages)}

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

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

rewrite ^/tag/(.*)_([0-9]+) /index.php?m=content&c=tag&a=lists&tag=$1&page=$2;
rewrite ^/tag/(.*) /index.php?m=content&c=tag&a=lists&tag=$1&page=$2;
如果是单独的服务器请修改相应的配置文件。

最后显示出来的URL样式如下:http://www.xinchaoyue.com/tag/hp 
遇到的问题:
点击tag关键词之后tag页面收到的关键词不一样,在网上查了一下很多人说是编码的问题。测试转换编码无法解决问题。最后通过去掉$infos = $keyword_data_db-<listinfo($where, &#39;`id` DESC&#39;, $page, $pagesize,&#39;&#39;,&#39;9&#39;,$urlrule,Array(&#39;tag&#39;=<urlencode($tag)));里面的urlencode函数解决。
更多tag实例演示请到www.xinchaoyue.com查看。
登入後複製

                   

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!