官方程式預設偽靜態是不支援自定義欄目名的pc 能夠通過目錄訪問到正確頁面
pc後台url規則管理
需要正確配置
ps: pc預設情況下 url規則中無效,也需要解決
.htaccess
檔案配置好對應偽靜態
欄目頁偽靜態(不生成html)時,url規則中開啟仍顯示為
解決方法。
phpcms\modules\content\classes\url.class.php
定位到122
行
$url = str_replace(array('', ''), array($catid, $page), $urlrule);
替換成
$category_dir = $this->get_categorydir($catid);
$url = str_replace(array('', '','',''), array($catid, $page,$category['catdir'],$category_dir), $urlrule);
ps: 只做到這一步,生成的url還是會有bug的(分頁url裡有重複的欄目路徑),繼續往下,全部寫完就沒問題了!
phpcms v9 預設是無法通過欄目名訪問到正確頁面的,因為缺少必要的引數。開啟phpcms\modules\content\index.php 定位到
207
行
$catid = $_get['catid'] = intval($_get['catid']);
替換成
if(isset ($_get['catid'])) else
在該檔案底部(}?>
前)增加乙個方法
private
function
_getcategoryid
($catdir) else
$this->category_db = pc_base::load_model('category_model');
$result = $this->category_db->get_one(array('catdir'=>$dirname));
return
$result['catid'];
}
開啟phpcms\modules\content\index.php 定位到35-36
行
$catid = intval($_get['catid']);
$id = intval($_get['id']);
替換成
if(isset ($_get['catid'])) else
if(isset($_get['id'])) else
在該檔案底部(}?>
前)增加乙個方法
private
function
_getprefixid
($catdir,$prefix) else
$this->category_db = pc_base::load_model('category_model');
$result = $this->category_db->get_one(array('catdir'=>$dirname));
$catid = $result['catid']; $siteids = getcache('category_content','commons');
$siteid = $siteids[$catid]; $categorys = getcache('category_content_'.$siteid,'commons');
if(!isset($categorys[$catid]) || $categorys[$catid]['type']!=0) showmessage(l('information_does_not_exist'),'blank');
$this->category = $cat = $categorys[$catid];
$this->category_setting = $cat['setting'] = string2array($this->category['setting']);
$siteid = $globals['siteid'] = $cat['siteid'];
$model = getcache('model','commons');
$modelid = $cat['modelid'];
$tablename = $this->db->table_name = $this->db->db_tablepre.$model[$modelid]['tablename'];
$result = $this->db->get_one(array('prefix'=>$prefix));
if(empty($result)) return
$result['id'];
}
偽靜態規則
需要根據url規則
進行自定義
rewriteengine on
rewriterule ^content-([0-9]+)-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3
rewriterule ^show-([0-9]+)-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3
rewriterule ^list-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=lists&catid=$1&page=$2
category
的url示例
orurl規則
dir/index.html|dir/list-1.html
/index.html|/list-.html
show
的url示例
orurl規則
dir/1.html|dir/1-1.html
/.html|/-.html
偽靜態規則
rewriteengine on
rewriterule ^index.html index.php
rewritecond $1 !^(api|caches|html|kc-path|phpcms|phpsso_server|statics|uploadfile)
rewriterule ^(\w+)/(list\-(\d+)\.html)? index.php?m=content&c=index&a=lists&catdir=$1&page=$3
rewriterule ^(\w+)/(\d+)(\-(\d+))?\.html index.php?m=content&c=index&a=show&catdir=$1&id=$2&page=$4
category
的url示例
orurl規則
dir.html|dir-1.html
.html|-.html
show
的url示例
orurl規則
dir/1.html|dir/1-1.html
/.html|/-.html
偽靜態規則
rewriteengine
onrewriterule
^index.html index.php
errordocument
404 /error.html
rewritecond
$1 !^(api|caches|html|kc-path|phpcms|phpsso_server|statics|uploadfile)
rewriterule
^(\w+)/(\d+)(\-(\d+))?\.html index.php?m=content&c=index&a=show&catdir=$1&id=$2&page=$4
rewritecond
$1 !^(error|js|index)
rewriterule
^((\w+)(\-(\d+))?)\.html index.php?m=content&c=index&a=lists&catdir=$2&page=$4
Phpcms v9程式目錄結構解析
phpcms v9檔案目錄說明 一 api目錄 應用程式介面,介面檔案檔案一般在這裡。二 caches目錄 快取檔案集中地,按模型和類別分資料夾存放。三 phpcms目錄 主程式檔案目錄,mvc結構總部,模型 類 模板檔案目錄都在裡邊。四 phpsso server目錄 單獨的會員管理系統,可單獨應...
PHPCMS V9 注射利用
在用bugscan 白帽子神器 檢測朋友 的時候碰到這個authkey。順便把利用 給大家分享下。本指令碼僅供白帽子安全測試使用,如有用於非法途徑,與作者無關 小白第一次寫東西,大牛勿噴 獲取檢測網域名稱 domain url domain url post url echo 判斷網域名稱是否為空,...
PHPCMS V9 加密規則
phpcms v9 加密規則 加密方式 md5 md5 password encrypt 第一步 對輸入的密碼32位小寫 md5 對輸入的密碼進行trim過濾 第三步 第二步結果密碼32位小寫 md5 例子 密碼 123456 encrypt vcmkn3 如下 a md5 123456 echo ...