您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程

PHP自动生成PHPCMS伪静态规则.htaccess的方法

符彬政2025-06-08phpcms教程已有人查阅

导读这个做SEO的时候非常需要,以前从DEDECMS转战PHPCMS,最痛苦的就是设置伪静态,一直想设置 栏目名/文章ID.html 这样的规则,但是显然PHPCMS默认不提供,只提供最原始的 list-1-1.html

这个做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文件
<?php
define('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 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*/

本文标签:

很赞哦! ()

相关教程

相关源码

  • 帝国cms7.5个人博客资讯文章模板下载本模板简洁个人博客网站设计开发,采用帝国CMS内核构建,只需替换文字图片即可快速搭建专业网站。自适应手机端设计,数据实时同步,操作简单便捷。PHP程序确保安全稳定运行,帮助您以较低成本获取持续业务。查看源码
  • 帝国cms7.5商城模板带图片视频广告位功能本模板基于帝国CMS7.5内核开发,为内容电商平台设计,集成文章、图片、视频多媒体展示与广告位管理功能。采用智能响应式技术,确保商品内容在不同设备上获得较优呈现效果,帮助快速构建专业的内容营销平台。查看源码
  • (自适应)居家生活日用品纸盘纸盒纸杯卫生纸巾生产厂家pbootcms模板为纸品生产企业打造的现代化展示平台,自动适应各种设备屏幕,确保浏览体验一致,完善的SEO功能,提升网站曝光度,基于PbootCMS构建,源码开放可定制。查看源码
  • 帝国cms7.5文库范文/付费下载/复制付费/带支付源码免费下载本模板为文库、文档分享、知识付费类平台设计,提供完整的内容变现解决方案。系统支持多种内容展示与付费模式,满足不同场景下的内容价值转化需求,帮助平台实现内容资源的有效管理和商业化运营。查看源码
  • (自适应响应式)黑色LED显示屏户外广告屏网站源码下载这是一款基于PbootCMS内核开发的响应式网站模板,专门为LED显示屏及户外广告行业打造。模板适配各类显示设备,帮助企业快速搭建专业官网,展示产品与服务优势,有效提升品牌形象。查看源码
  • (自适应)英文外贸电子设备网站模板三级子目录基于PbootCMS内核开发的响应式英文网站模板,为外贸企业打造,支持多行业快速适配。通过简洁高效的代码架构,帮助企业低成本构建专业海外形象,实现更好客户触达与订单转化。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐