• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >phpcms > phpcms关于url路由在二次开发中的使用方法介绍-实现泛解析

phpcms关于url路由在二次开发中的使用方法介绍-实现泛解析

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-13

佚名 向大家介绍了phpcms url规则,phpcms url,phpcms 栏目页url规则,phpcms二次开发,phpcms v9二次开发等相关知识,希望对您有所帮助

首先,路由是负责将用户请求映射到特定的 MVC 控制器操作.v9默认的路由文件是 caches\configs\route.php ,默认路由如下:


default是默认路由,在没有任何匹配的情况下,将映射到content模块index文件的init方法.

我们再来看下路由是在哪里被处理的.打开\phpcms\libs\classes\param.class.php ,找到下面一句代码:


这里读取路由配置,根据常量 SITE_URL 查找是否存在路由配置,如果存在就加载,否则就加载默认的default配置.

SITE_URL这个常量是做什么的呢?看看他的定义:


也就是我们访问的域名,比如 pic.weikejianghu.com 或者 baike.weikejianghu.com 又或者 bbs.weikejianghu.com,不带http.

那么,比如我们有一个域名 bbs.weikejianghu.com ,他的动态访问地址是 m=bbs&c=index&a=init .那么我们在做过域名绑定到v9后,访问 bbs.weikejianghu.com 就能定位到 m=bbs&c=index&a=init ,这时候就要依靠url路由.因此定义如下路由:


一个完整的url路由功能就实现了.利用此功能,可以实现泛解析到不同模块,不同栏目等等.
比如给你的v9黄页模块做一个 yp.phpcms.cn 路由到 m=yp&c=index&a=init .
这样每一个模块都是一个拥有二级域名的子站了,而同时利用v9的数据表分离功能,可以实现一些较大的应用.

希望大家有好东西一起分享,诚招女性网站(prbr2百度收录2k以上)友链.谢谢.
结尾国际惯例,回复可见.
分享一个网站的泛解析处理方法:
路由如下:


*/</p> <p> switch($GLOBALS['domain']){
case 'www':
$array = array('default'=>array('m'=>'content','c'=>'index','a'=>'init'));
break;</p> <p> default:
$array = array(SITE_URL=>domain( $GLOBALS['domain'] ) );
break;</p> <p> }</p> <p> return $array;
</div>

其中函数 domain定义如下:


}</p> <p>
function parse_domain($array){</p> <p> switch($array['type']){

case '3833'://手术项目,也即栏目
$catid = $array['keyid'];
$id = $_GET['id'];
$GET = $id ? array('id'=>$id,'catid'=>$catid) : array('catid'=>$catid);
$newarr = array('m'=>'content','c'=>'index','a'=>$id ? 'show': 'lists','data'=>array('GET'=>$GET));
$GLOBALS['catid'] = $catid;
break;</p> <p> case '3834'://城市地区
$newarr = array('m'=>'content','c'=>'city','a'=>'init','data'=>array('GET'=>array('areaid'=>$array['keyid'])));
$GLOBALS['cityid'] = $array['keyid'];
break;</p> <p>
case '3835'://整形医院
$newarr = array('m'=>'yp','c'=>'com_index','a'=>'init','data'=>array('GET'=>array('userid'=>$array['keyid'])));
$GLOBALS['hospitalid'] = $array['keyid'];
break;

}
return $newarr;</p> <p> }
</div>

结合了联动菜单的地区,权当是抛砖引玉了.
尤其注意


这里的定义方式,数据的格式一定要正确.

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • phpcms关于url路由在二次开发中的使用方法介绍-实现泛解析
  • 如何设置PhpCms系统URL规则管理 phpcms教程
  • Phpcms自定义URL规则技巧整理
  • PHPCMS 2008 SP3 模板语法规则整理
  • phpcms语法规则

相关文章

  • 2017-05-13PHPCMS V9实现单页面做频道时也可编辑内容
  • 2017-05-13phpcms教程之用户vip过期后降低用户等级的办法分享
  • 2017-05-13PHPCMS点击图片进入下一页功能的实现方法
  • 2017-05-13phpcms V9实现QQ登陆OAuth2.0提供下载
  • 2017-05-13PhpCms中html扩展名使用shtml的include方法
  • 2017-05-13phpcms在本地安装完成后总是跳转到install/install.php
  • 2017-05-13PHPCMS 前台页面取得模块配置信息的方法
  • 2017-05-13phpcms在nginx的rewrite伪静态标准写法
  • 2017-05-13phpcms缓存使用总结(memcached、eaccelerator、shm)
  • 2017-05-13phpcms下载频道的模板制作

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • phpcms常见问题解答
    • Phpcms采集时出现编码转化错误的解决方法
    • PHPwind高级伪静态规则及教程
    • phpcms更换服务器后前台后台无法登录的解决方法
    • phpcms v9去除盛大连接 关闭盛大通行证的修改方法
    • PHPCMS V9静态化HTML生成设置及URL规则优化
    • PhpCms类别管理教程
    • phpcms2008 常用数组,变量整理
    • phpcms标签模板及专题模板的制作
    • phpcms v9 彻底去除自带的水印功能的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有