以下内容适用于AKCMS4.0.6以上版本,如果您的版本与本文描述不符,请升级至最新版。
AKCMS制作的网页URL可以完全由站长自定义,首先讲解一下AKCMS中影响内容URL的5处设置:(AKCMS允许为同一篇内容设置四个不同的URL,本文仅以第一个URL为例介绍一下)
1 全局设置:后台/系统设置/基本设置/内容页第1套URL
2 栏目所属模块的设置:系统/模块/编辑模块/内容页第1套URL
3 上层栏目设置:栏目管理/编辑栏目/内容页第1套URL
4 栏目设置:同上
5 内容文件名设置:编辑内容,修改文件名(默认是不显示文件名的,需要在模块中开启)
如果内容页设置了文件名,首先使用此文件名;如果没有设置文件名,则找所属栏目的URL设置;如果所属栏目也没有设置;则看它的上级栏目有没有设置,如果没有就一直找到最上级栏目(换句话说,栏目的这个设置是可以继承的);如果还没有,则找所属栏目所绑定的模块的设置,如果还没有则应用全局设置。
总结一下,各种设置的优先级:
内容页文件名 > 栏目URL设置 > ...上级栏目的URL设置... > 模块设置 > 全局设置
需要注意两点:
1 低优先级的设置修改之后不会立刻自动生效,需要手动执行后台的“更新缓存”才可以
2 文件名的优先级虽然高,但是如果不是以/开头的绝对地址,仍然会继续找栏目的设置,把URL设置中的[f]替换成文件名,决定最终的URL。
文件名设置好之后,调用就非常简单了:在getitems标签中可以通过[url]获得最终的URL,例如:<{getitems template="<a href='[url]'>[title]</a>"}>即可。
类似/sports/123456.html这样的URL,也可以通过<{getitems template="<a href='[categorypath]/[itemid].html'>[title]</a>"}>来设置,但是我们强烈建议不要这样做,因为这样做实际上把URL的规则写死在了模板中,不会跟随后台设置自动变化,当设置修改的时候,你还得到模板中到处修改。最好的办法仍然是在后台设置好了,在模板中简单的通过[url]调用。
有了上面的基础知识,我们就可以随心所欲的设置URL了,我们可以为不同的栏目设置不同的URL规则,同一个栏目也可以为个别文章的URL进行特殊指定。下面按伪静态、纯静态、动态三种情况给大家演示一下:
为方便观看设置结果,我提前准备了一个模板:
伪静态:
伪静态是URL最为灵活的方式,它能实现所有的URL效果。
/sports/123456.htm(默认)
/sports/fifa2010.htm
/sports/fifa2010.html
/sports/fifa2010/
/sports/football/fifa2010.htm
/html/sports/football/fifa2010.htm
/article-123456.html
/article/123456.html
纯静态(需要打开生成静态页的设置):
纯静态也可以实现大部分URL:除了带?的URL之外都能实现,设置方法类似:
/sports/123456.htm
/sports/fifa2010.htm
/sports/fifa2010.html
/sports/fifa2010/
/sports/football/fifa2010.htm
/html/sports/football/fifa2010.htm
/article-123456.html
/article/123456.html
纯动态:
纯动态可以自定义的形式比较少:
/news.php?id=123456
/sports.php?id=123456
/sports.php?id=123456
纯动态需要用我们的接口包装一层,以news.php为例:需要创建一个news.php的文件在网站根目录,内容是:
<?php
include('akcms_item.php');
?>
视频下载(录着录着卡壳了,所以分成上下两集,视频是针对旧版本AKCMS录制的,仅供参考):
http://jimifan.com/download/medias/url1.wmv
http://jimifan.com/download/medias/url2.wmv