找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2259|回复: 0

[分享] 打造另类完美的dedecms文章页伪静态URL

[复制链接]
发表于 2018-3-13 07:29:04 | 显示全部楼层 |阅读模式 来自 中国–河南–驻马店
网上介绍DEDEMS文章页伪静态的教程可以说得上用多如牛毛来形容,但梦想都感觉那些伪静态并不是很完美的,都是千遍一律的,不是用默认的伪静态URL就是用拼音来代替。DEDECMS的文章页默认的伪静态的url都是,http://www.dedeui.com/plus/view-12-1.html 这样的URL,对于我们有个性的站长来说,并不是我们想要的。

这次我带给你大家的就是直接用后台栏目文章命名规则里的地址来打造个性的DEDECMS文章页伪静态URL。一般我们在后台设置栏目的时候,都会设置一下文章文章命名规则,如下图。
1.webp



这次我们就用这个文章命名规则里自己设置的规则来打造完美的文章页伪静态URL。


修改文件\include\helpers\channelunit.helper.php


直接搜索 //动态文章


下一行看到return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';


2.webp

替换成
  1. /**
  2.     * 代码类
  3.     * Copyright (c) 2007 - 2010, dedeui, Inc.
  4.     * 梦想QQ 51241904
  5.     * http://www.dedeui.com/
  6.     */
  7.     $articleDir = MfTypedir($typedir);
  8.    

  9.                $articleRule = strtolower($namerule);
  10.    

  11.                if($articleRule=='')
  12.    

  13.                {
  14.    

  15.                    $articleRule = strtolower($GLOBALS['cfg_df_namerule']);
  16.    

  17.                }
  18.    

  19.                if($typedir=='')
  20.    

  21.                {
  22.    

  23.                    $articleDir  = $GLOBALS['cfg_cmspath'].$GLOBALS['cfg_arcdir'];
  24.    

  25.                }
  26.    

  27.                $dtime = GetDateMk($timetag);
  28.    

  29.                list($y, $m, $d) = explode('-', $dtime);
  30.    

  31.                $arr_rpsource = array('{typedir}','{y}','{m}','{d}','{timesta mp}','{aid}','{cc}');
  32.      //上面这里的{timesta mp}多了一个空格,大家去掉就可以了,PS一下论坛过滤 ta m


  33.                $arr_rpvalues = array($articleDir,$y, $m, $d, $timetag, $aid, dd2char($m.$d.$aid.$y));
  34.    

  35.                if($filename != '')
  36.    

  37.                {
  38.    

  39.                    $articleRule = dirname($articleRule).'/'.$filename.$GLOBALS['cfg_df_ext'];
  40.    

  41.                }
  42.    

  43.                $articleRule = str_replace($arr_rpsource,$arr_rpvalues,$articleRule);
  44.    

  45.                if(preg_match("/\{p/", $articleRule))
  46.    

  47.                {
  48.    

  49.                    $articleRule = str_replace('{pinyin}',GetPinyin($title).'_'.$aid,$articleRule);
  50.    

  51.                    $articleRule = str_replace('{py}',GetPinyin($title,1).'_'.$aid,$articleRule);
  52.    

  53.                }
  54.    

  55.                $articleUrl = '/'.preg_replace("/^\//", '', $articleRule);
  56.    

  57.                         

  58.    

  59.                    return $articleUrl;
复制代码



好了,代码部分修改完毕了。修改好本文件之后代码如下:

3.webp


接下来我们要在系统基本参数->核心设置里设置一下开启伪静态

4.webp


勾选,是否使用伪静态。这样就开启了伪静态功能了,现在随便添加一篇文章测试一下

5.webp


发布选项这里要选择 仅动态浏览,这样才会是伪静态的。
6.webp



发布成功后,可以看到,文章伪静态的地址和真静态生成html的地址是一模一样的了。


最后附上伪静态规则。


  1. RewriteRule ^(.*)/cslm/([0-9]+)/([0-9]+)/([0-9]+)\.html $1/plus/view\.php\?aid=$4
复制代码



伪静态规则要看自己的情况而修改的。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-12-19 18:37 , Processed in 0.038094 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表