落叶这里提到的URL规则指的是网站上每一个页面的网址格式,URL规则实际是PHPCMS中的概念,但实际每款CMS都会有意无意的提供了自定义URL规则的功能,只是表现方式有所不同。
当站长朋友们在个性化设置CMS时或者作一些SEO处理时,都希望CMS能够很方便的自定义页面生成静态时的URL格式,如有些新闻文章,希望按发布时间路径生成URL,有些时候希望栏目页按照栏目路径生成静态URL,有些时候,为了实现网站目录结构的扁平化,希望直接把内容生成到根目录等等。
另外,不仅是生成静态,伪静态时,同样也需要能够方便的自定义网址的格式。所以,自定义URL规则的灵活性,在CMS中也是非常重要。
本文中就帝国CMS、PHPCMS、DEDECMS的自定义URL规则这个功能作一些简单的对比分析。
帝国CMS中在添加栏目时,可以定义栏目内容存放的上层栏目目录及本栏目目录,在添加文章时,可以以日期目录/文件名的方式生成文章内容页URL。
栏目页:
内容页:
其实从上面的截图就可看出帝国CMS中虽然可以自定义URL,但实际不存在自定义URL规则,只能简单的定义文章的栏目路径及内容页路径。
PHPCMS中的添加栏目时,直接可设置栏目页、列表页及内容页的URL生成格式。
PHPCMS中直观呈现了可以生成的URL格式,直接选择即可,如果觉得目前的所有的URL格式不能满足需求,可以直接点击“点击新建URL规则”进入新建URL规则界面添加自定义URL格式。
理论上来讲,这样的设计是非常方便的,可以很自由的定义栏目页、列表页、内容页的URL格式,只是PHPCMS在细节方面做的太差,界面中没有任何说明文字来提示该怎么填写,用户除了仿照已经存在的URL规则添加外,如果不上PHPCMS官方论坛查看别人的分享或者帮助文档,根本很难知道哪些变量是可用的哪些是不可用的。包括我在使用PHPCMS做过不下10个站后,仍然不知道PHPCMS中这里的URL规则究竟支持多少个变量。
不过呢,不管怎样,对PHPCMS的深度用户来讲,这个设计确实是个非常不错的设计。
添加的自定义URL可选择是否用于生成静态,如果和选择否,则可用于URL的伪静态情况。
并且在PHPCMS中使用GET标签时,可以直接在GET标签的urlrule中定义调用的文章列表的分页URL格式。这一点,是非常赞赏的,不过,到目前为止PHPCMS2008版sp4停止升级,GET标签的urlrule仍然存在BUG(BUG发生在自定义页面中通过GET标签调用文章列表分页显示时),还好我对PHPCMS的代码比较熟悉,自己改下够用。
DEDECMS中添加栏目时,亦可定义文章内容页及列表页命名规则。
较之于PHPCMS的自定义URL规则,DEDECMS自定义URL规则的优点是做得比较细致,点击旁边的问号图标即可清楚的看到URL中可用到的变量,并且这些变量包括年月日、时间戳、文章ID、拼音+文章ID、拼音部首、栏目目录及日期加ID转换的字符串等,虽然支持的个性变量比PHPCMS支持的少些,但基本可以很好的满足大部分希望对URL作SEO处理的需求。
那么,究竟什么样的URL规则机制,能够最好的满足站长的需求?下面落叶列出能想到的:
1. 采用PHPCMS的自定义URL规则的机制,自由定义各种URL规则,并且可重复被引用。只需要在标签中设置使用的URL规则的ID即可按该URL规则生成。
2. CMS中应该像DEDECMS那样,详细列出URL规则中所有支持的变量,最好支持如下变量:1)各种格式的日期如 2011-05-06,20110506,2011/05/06等等;2)文章的ID;3)文章的自定义文件名;4)文章标题或者目录名称的拼音;5)文章标题或者目录名称的拼音部首;6)分页参数;7)栏目目录;8)当前目录英文;9)unix时间戳等等
3. 标签中支持设置已建立的URL规则的ID来调用URL规则,亦支持直接临时在调用标签时写URL规则 来局部个性化URL规则。
4. 同时支持静态和伪静态URL规则,后台开启伪静态时,界面动态URL自动显示为伪静态URL
直观来讲:PHPCMS的自定义URL规则是最灵活最系统的;DEDECMS的比较细致,一般够用;帝国CMS的则明显弱些。
系列相关文章:
- 帝国、PHPCMS及织梦对比(一):自定义模型功能分析
- 帝国、PHPCMS及织梦对比(二):支持SQL调用的标签
- 帝国、PHPCMS及织梦对比(三):自定义URL规则
- 帝国CMS与PHPCMS对比(四):碎片功能分析
- 帝国、PHPCMS及织梦对比(五):标签解析方式分析
- 帝国、PHPCMS及织梦对比(六):专题功能对比分析
- 帝国、PHPCMS及织梦对比(七)之自定义表单功能分析
- 帝国、PHPCMS及织梦对比(八):SEO辅助功能及个性化调用分析
- 帝国、PHPCMS及织梦对比(九):关联类别属性
- 帝国、PHPCMS及织梦对比(十):推荐位功能
- 帝国、PHPCMS及织梦对比(十一):采集功能
- 帝国、PHPCMS及织梦对比(十二):PHPCMS低级BUG问题分析