对于phpcms2008的url规则,我有好一段时间没怎么弄明白,只知表向而不知内在原理的那种.但通过做过几个站之后,突然恍然大悟:原来就是这样啊.
我的理解就是url规则就是生成静态的目录格式:比如是一层的 还是二层多层目录啊,目录都以什么命名啊这些.通过这样理解我就很清楚了,而且自然而然的知道怎么改了.
记住下面一些变量分别代表什么意思,就什么都好办了.
{$catid}栏目id。例:形如1,10等
{$categorydir}栏目目录树(相对于phpcms安装目录)。例:如为一级目录则为/news/,二级目录为/news/china/,三级目录为/news/inter/usa
{$catdir}栏目目录。例:如为一级目录则为/news/,二级目录为/china/,三级目录为/usa/
{$year} {$month} {$day} 年月日。文章发布时间的年,月,日。
{$page}页码。文章分页时的页码。
{$fileext}静态页扩展名。为网站配置->生成的扩展名所定义。
{$contentid}文章id。
{$typeid}类别id ,{$typedir}类别目录,{$filename}专题名称,{$specialid}专题id
然后将这些变量在规则里面按不同需求组合就可以了,生成下看下到底是什么目录结构,生成不成功说明变量写错了.
一个例子:
生成像/news/article_1_2.html的这样的结构,规则如下:
{$catdir}/article_{$contentid}.{$fileext}|{$catdir}/article_{$contentid}_{$page}.{$fileext}
如选目录树,则{$catdir}改为{$category}
除了系统写好的规则之外,还可以新建自己需要的url规则,其实系统的够用了,就改改也能用.
还有一种不是生成静态的,而是动态的像这种
list.php?catid-{$catid}.html|list.php?catid-{$catid}/page-{$page}.html
出来的就是这样list.php?catid-1/page-2.html 和上面道理一样的.
现在大部分网站都不喜欢动态的显示出来,所以都会生成静态的,这就是传说中的伪静态吧,哈哈.