標籤:col contents 技術 tac 描述 com rect zhang 友好
這個做SEO的時候非常需要,以前從DEDECMS轉戰PHPCMS,最痛苦的就是設定偽靜態,一直想設定 欄目名/文章ID.html 這樣的規則,但是顯然PHPCMS預設不提供,只提供最原始的 list-1-1.html ,show-1-1.html,這種URL對搜尋引擎和使用者都是不友好的(不符合百度搜尋引擎指南中對URL友好的描述),哈哈,或者只是自己糾結。
如果非要以前非要這麼設定的話,就得一條條手工加,沒想到居然有一天自己也能破這個問題(其實只是個簡單的讀資料庫的問題)。
第一步:PHPCMS後台設定規則(預設已經開啟Apache偽靜態)
第二部:產生.htaccess
把下面檔案複製到文檔,尾碼改為PHP,放置在PHPCMS的根目錄,運行http://admin.com/設定的檔案.php,即可產生.htaccess檔案
<?phpdefine(‘PHPCMS_PATH‘, dirname(__FILE__).DIRECTORY_SEPARATOR);include PHPCMS_PATH.‘/phpcms/base.php‘;//pc_base::creat_app();$db_config = pc_base::load_config(‘database‘); //讀取設定檔pc_base::load_sys_class(‘mysql‘, ‘‘, 0);pc_base::load_sys_class(‘param‘, ‘‘, 0);pc_base::load_model(‘content_model‘);$db=new mysql();$db->open($db_config[‘default‘]);$pre = $db_config[‘default‘][‘tablepre‘]; //讀取表首碼$db->connect();$catprefix = ‘list‘;$catrule .= "<IfModule mod_rewrite.c>\n";$catrule .= "RewriteEngine on\n";$catdata = $db->select(‘catid,catdir,parentid‘,"{$pre}category","type=0");foreach($catdata as $item){ $catdir = $item[‘catdir‘]; $catid = $item[‘catid‘]; $parentid = $item[‘parentid‘] ? $item[‘parentid‘] : ""; if(trim($parentid)){ $parentdir = $db->select(‘catdir‘,"{$pre}category","catid={$parentid}")[0][‘catdir‘]; $catrule .= "RewriteRule ^{$parentdir}/{$catdir}/([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=show&catid={$catid}&id=$2&page=$3\n"; } $catrule .= "RewriteRule ^{$catdir}/([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=show&catid={$catid}&id=$2&page=$3\n";}$catrule .= "RewriteRule ^{$catprefix}/([0-9]+)_([0-9]+).html index.php?m=content&c=index&a=lists&catid=$1&page=$2\n";$catrule .= "</IfModule>\n";file_put_contents(PHPCMS_PATH.‘/.htaccess‘,$catrule);/*RewriteEngine onRewriteRule ^content-([0-9]+)-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3RewriteRule ^show-([0-9]+)-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3RewriteRule ^list-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=lists&catid=$1&page=$2*/
SEO工具箱:PHP自動產生PHPCMS偽靜態規則.htaccess