有時(shí)候我們?cè)趐hpcms的使用過(guò)程中,需要自定義一些規(guī)則方便seo目錄要求等,這里簡(jiǎn)單分享下,方便需要的朋友
一、概述
自定義url規(guī)則,首先要建立自己的URL規(guī)則,首先的理解一些定義和變量含義。首先進(jìn)入U(xiǎn)RL規(guī)則管理這里,你會(huì)看到如下內(nèi)容(進(jìn)入方法:“擴(kuò)展”-》“RUL規(guī)則管理”—》“管理RUL規(guī)則”)
在、問(wèn)吧、專題、等等
也就是說(shuō)你下一步建立的RUL規(guī)則是要應(yīng)用在哪個(gè)模塊上,那你就要選者哪個(gè)。在這里特別要提示一下的是,你在建立 URL規(guī)則的時(shí)候不要選哪個(gè)“不限”。本然按照PHPCMS當(dāng)初的意思是可以應(yīng)用與任何模塊,但是我實(shí)際操作當(dāng)中,發(fā)現(xiàn)如果選者了不限,那你在其他模型里 面是看不到你選者的URL規(guī)則。
二、名稱
名稱這里PHPCMS分 category(列表頁(yè)),show(詳細(xì)頁(yè)),htmlshow(問(wèn)吧詳細(xì)頁(yè)),htmlcategory(問(wèn)吧列表頁(yè))。
這里要注意一點(diǎn),假如你是現(xiàn)在定義的URL規(guī)則是想應(yīng)用與圖片模塊的列表頁(yè),那你這里URL名稱一定要寫(xiě)category,否者的話,你在模塊設(shè)置這里是看不到你定義的URL規(guī)則。
三、HTML
你在定義URL規(guī)則的時(shí)候,有個(gè)可選項(xiàng)目,靜態(tài)URL規(guī)則:生成靜態(tài)頁(yè)面調(diào)用的URL規(guī)則,你選者“是”或者“否”,意思就是如果選者是,那你這條規(guī)則就是生成靜態(tài)頁(yè)面用的,相反就選否。
四、URL示例
這里就是些一些你想要的URL形式,你可以隨便寫(xiě),只要你自己認(rèn)得這是你這一條規(guī)則的形式。但是不能不寫(xiě)啊,否者你在模型設(shè)置里面,又會(huì)發(fā)現(xiàn),怎么看不到我定義的規(guī)則名稱,這個(gè)示例可是當(dāng)名稱一樣用的哦。
在定義RUL規(guī)則之前,你首先要理解上面的四點(diǎn),然后接下來(lái)要理解那些變量的含義了。
1、{$parentdir}{$catdir} ---含義:當(dāng)前欄目目錄名稱;
2、{$catid} ----含義:欄目ID號(hào);
3、.{$fileext}---含義:.htm(注意這里前面要加個(gè)“."號(hào)l ;
4、{$year} ----含義:年;
5、{$month} --含義:月;
6、{$day} -----含義:日;
根據(jù)后臺(tái) 系統(tǒng)設(shè)置->相關(guān)設(shè)置->URL規(guī)則管理所列的URL規(guī)則編寫(xiě)。
以下所用示例,請(qǐng)靈活修改。
示例欄目:
新聞news
|___國(guó)內(nèi)china
|___國(guó)際inter
|___美國(guó)usa
1、URL規(guī)則所用變量
{$catid}欄目id。例:形如1,10等
{$categorydir}欄目目錄樹(shù)(相對(duì)于phpcms安裝目錄)。例:如為一級(jí)目錄則為/news/,二級(jí)目錄為/news/china/,三級(jí)目錄為/news/inter/usa
{$catdir}欄目目錄。例:如為一級(jí)目錄則為/news/,二級(jí)目錄為/china/,三級(jí)目錄為/usa/
{$year} {$month} {$day} 年月日。文章發(fā)布時(shí)間的年,月,日。
{$page}頁(yè)碼。文章分頁(yè)時(shí)的頁(yè)碼。
{$fileext}靜態(tài)頁(yè)擴(kuò)展名。為網(wǎng)站配置->生成的擴(kuò)展名所定義。
{$contentid}文章id。
以下是專題模塊用的
{$typeid}類別id
{$typedir}類別目錄
{{$filename}專題名稱
{$specialid}專題id
問(wèn)吧,對(duì)于問(wèn)吧,最好不要修改了
{$action}操作
2、URL規(guī)則數(shù)據(jù)庫(kù)字段說(shuō)明
模塊:所屬模塊,目前有問(wèn)吧,專題,phpcms。
URL規(guī)則名稱:這個(gè)名稱應(yīng)該為URL規(guī)則應(yīng)用的范圍,如用于欄目頁(yè)(目錄),內(nèi)容頁(yè)等。一般會(huì)用到show(內(nèi)容頁(yè)),category(欄目頁(yè))
生成Html:是否生成html。關(guān)系到所寫(xiě)的URL規(guī)則。
URL規(guī)則/URL示例:這個(gè)就是本文重點(diǎn)要講的了
3、應(yīng)用示例
特別說(shuō)明:定義url時(shí),應(yīng)為分頁(yè)網(wǎng)址加上{$page}變量。兩條規(guī)則用|隔開(kāi)。
(1)官方演示
{$catdir}/index.{$fileext}|{$catdir}/{$page}.{$fileext}
{$categorydir}/{$year}/{$month}{$day}/{$contentid}.{$fileext}|{$categorydir}/{$year}/{$month}{$day}/{$contentid}_{$page}.{$fileext}
(2)一個(gè)例子
建立形如/news/article_1_2.html的規(guī)則
{$catdir}/article_{$contentid}.{$fileext}|{$catdir}/article_{$contentid}_{$page}.{$fileext}
如選目錄樹(shù),則{$catdir}改為{$category}
(3)擴(kuò)展功能(正式版未測(cè)試)
定義為動(dòng)態(tài)時(shí),所以欄目、內(nèi)容頁(yè)都為phpcms目錄下/list.php?,/show?等形式,如果想讓url規(guī)則為/news/show.php?id=,/news/index.php這個(gè)要怎么操作呢?
首先想到的是定義url規(guī)則,如
欄目頁(yè){$catdir}/index.php|{$catdir}/index.php?page={$page}
內(nèi)容頁(yè){$catdir}/show.php?contentid={$contentid}|{$catdir}/show.php?contentid={$contentid}&page={$page}
定義完之后,問(wèn)題來(lái)了,所建的目錄下并沒(méi)有index.php和show.php文件,怎么辦?
把list.php復(fù)制到相應(yīng)目錄下,更名為index.php,show.php也做如上操作,這兩個(gè)文件都在phpcms的目錄里。
這時(shí)再看已經(jīng)輸入的內(nèi)容,會(huì)提示出錯(cuò),路徑錯(cuò)誤,改show.php第一句為
require ‘../include/common.inc.php’; 這個(gè)是根據(jù)一級(jí)目錄改的
下面還有幾個(gè)require,相應(yīng)的改動(dòng)一下就行了,我沒(méi)改,也沒(méi)有報(bào)錯(cuò)。改完之后再瀏覽(在后臺(tái),點(diǎn)文章標(biāo)題)就可以打開(kāi)了。
修改復(fù)制進(jìn)去的index.php
第一句修改同上。因?yàn)樽远x的URL規(guī)則是不帶catid參數(shù)的,所以在$catid = intval($catid);改為$catid = 5(這里是你所要改的欄目的id,在欄目管理可以看到)。
更多信息請(qǐng)查看IT技術(shù)專欄