您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
phpcms路由配置教程
刘尉2025-05-20phpcms教程已有人查阅
导读这是一个由apache多站点配置引发的"血案",本以为是本地多站点配置的问题,结果找了半天没找到相关配置,之后还是问的大腿,同时也了解一些关于c盘hosts文件的映射作用以及使用
这是一个由apache多站点配置引发的"血案",本以为是本地多站点配置的问题,结果找了半天没找到相关配置,之后还是问的大腿,同时也了解一些关于c盘hosts文件的映射作用以及使用ip访问 在多域名的情况下,会访问首先生效的域名。
主要的还是路由设置,说一下我发现这个问题的过程。
项目是phpcms的,有手机站和pc站,还有ecmall,因为域名不同,所以要配置本极apache服务器多站点,打开各自的主页。
修改本机hosts文件,修改apapche 服务器 httpd, httpd-vhosts文件 ,在httpd-vhosts里添加了相应站点的访问路径。
然后重启apache 。因为pc站的域名配置了相应的访问路径,没有问题,正常显示,但是手机站在httpd-vhosts里没有配置访问路径,也可以正常访问,当时我就震惊了。
效果是这样的:
hosts文件:
httpd-vhosts文件:
访问路径只配置了 .cms.localhost ,并没有配置wap.cms.localhost 为什么他还能正常访问到手机站呢? 我以为漏掉了什么,就百度啊百度啊,找配置啊找配置(整个过程很艰辛)然后还是没有发现原因,接着就去抱大腿了。
大腿告诉我 如下内容:
1.hosts: hosts只负责映射,映射成功即可访问,并不验证被映射地址的真假。
2.使用IP访问,多域名情况下,会访问首先生效的域名。
然后我百度了一下,了解了hosts,然后问大腿,我用的域名访问,经过hosts 会被解析成127.0.0.1 ,在多域名的情况下,不应该访问 我在apache多站点配置文件httpd-vhosts里配置的第一个域名对应的路径吗,大腿说是的。但是实际上是访问的手机站,然后重点来了:大腿说看看route.php 也就是phpcms的caches/configs/route.php 这个是phpcms 的路由配置默认访问路径文件。
在这里面
返回的数组中有了如上配置。然后在phpcms/libs/classes中的param.calss.php 这个类中进行了路由的参数处理:
总结了一下:并不是所有的问题都出在自己的设置上,有时候应该自信一点,当初我怎么就没有在整个项目里直接搜 wap.cms.localhost呢 我竟然搜索的http://wap.cms.localhost 捂脸哭(┬_┬)
还是自己对框架不熟悉,需要在以后的需求中不断的实践,如果不是闲来无事重新配置这个,我还真不知道这个路由配置。
主要的还是路由设置,说一下我发现这个问题的过程。
项目是phpcms的,有手机站和pc站,还有ecmall,因为域名不同,所以要配置本极apache服务器多站点,打开各自的主页。
修改本机hosts文件,修改apapche 服务器 httpd, httpd-vhosts文件 ,在httpd-vhosts里添加了相应站点的访问路径。
然后重启apache 。因为pc站的域名配置了相应的访问路径,没有问题,正常显示,但是手机站在httpd-vhosts里没有配置访问路径,也可以正常访问,当时我就震惊了。
效果是这样的:
hosts文件:
httpd-vhosts文件:
访问路径只配置了 .cms.localhost ,并没有配置wap.cms.localhost 为什么他还能正常访问到手机站呢? 我以为漏掉了什么,就百度啊百度啊,找配置啊找配置(整个过程很艰辛)然后还是没有发现原因,接着就去抱大腿了。
大腿告诉我 如下内容:
1.hosts: hosts只负责映射,映射成功即可访问,并不验证被映射地址的真假。
2.使用IP访问,多域名情况下,会访问首先生效的域名。
然后我百度了一下,了解了hosts,然后问大腿,我用的域名访问,经过hosts 会被解析成127.0.0.1 ,在多域名的情况下,不应该访问 我在apache多站点配置文件httpd-vhosts里配置的第一个域名对应的路径吗,大腿说是的。但是实际上是访问的手机站,然后重点来了:大腿说看看route.php 也就是phpcms的caches/configs/route.php 这个是phpcms 的路由配置默认访问路径文件。
在这里面
返回的数组中有了如上配置。然后在phpcms/libs/classes中的param.calss.php 这个类中进行了路由的参数处理:
//路由配置
private $route_config = '';
public function __construct() {
if(!get_magic_quotes_gpc()) {
$_POST = new_addslashes($_POST);
$_GET = new_addslashes($_GET);
$_REQUEST = new_addslashes($_REQUEST);
$_COOKIE = new_addslashes($_COOKIE);
}
// 载入route.php中的配置信息, 通过当前地址栏的url进行对比,然后进行一系列处理,最终 $_GET 中包含了当前地址栏里的url对应的访问路径。
// 这里的SITE_URL 就是你在地址栏里输入的url
$this->route_config = pc_base::load_config('route', SITE_URL) ? pc_base::load_config('route', SITE_URL) : pc_base::load_config('route', 'default');
// var_dump($this->route_config); //结果是route.php里相关的数组元素
if(isset($this->route_config['data']['POST']) && is_array($this->route_config['data']['POST'])) {
foreach($this->route_config['data']['POST'] as $_key => $_value) {
if(!isset($_POST[$_key])) $_POST[$_key] = $_value;
}
}
if(isset($this->route_config['data']['GET']) && is_array($this->route_config['data']['GET'])) {
foreach($this->route_config['data']['GET'] as $_key => $_value) {
if(!isset($_GET[$_key])) $_GET[$_key] = $_value;
}
}
if(isset($_GET['page'])) {
$_GET['page'] = max(intval($_GET['page']),1);
$_GET['page'] = min($_GET['page'],1000000000);
}
// var_dump($_GET);exit; 这里打印出的结果就是要前往的url路径
return true;
}
至于后来怎么跳转的,就没有再看,然后自己添加了一个mob.cms.localhost也可以正常访问手机站,到这里为什没回找到手机站的问题就解决了。总结了一下:并不是所有的问题都出在自己的设置上,有时候应该自信一点,当初我怎么就没有在整个项目里直接搜 wap.cms.localhost呢 我竟然搜索的http://wap.cms.localhost 捂脸哭(┬_┬)
还是自己对框架不熟悉,需要在以后的需求中不断的实践,如果不是闲来无事重新配置这个,我还真不知道这个路由配置。
本文标签:
很赞哦! ()
上一篇:phpcms安装和标签调用示例
下一篇:PHPcms模块开发教程
图文教程
phpcmsv9游客无法上传图片的解决方法
phpcmsv9游客无法上传图片怎么办?phpcmsv9游客上传附件权限头一步:系统默认后台管理会员组无法修改游客上传附件的权限;
phpcms v9常用功能调用使用方法
栏目列表(不管放到哪里,都可以访问到一级栏目下的所有子栏目)获取某个栏目的栏目图片,可以用(如果是单页,必须到module下content 的index下,将单页修改下,要单页也能有top_parentid[images])
phpcmsv9后台登录提示验证码错误的解决方法
V9的验证码在生成后,会把验证码的数字存入Session当中。V9在默认的情况下,Session是存放在数据库当中的。其在数据库中的表现如下:
phpcms v9安装报错MySQL Query : INSERT INTO `phpcms_v9_v9_module` (`
有的PHP安装的时候表前缀有特殊符号使得安装出问题,比如有的表前缀带了个“_”符号就容易安装报错,如PHPCS_V9就是这样,默认的数据表前缀是phpcms_v9
相关源码
-
快递物流公司pbootcms网站模板html响应式自适应源码下载基于HTML5+CSS3前沿技术开发,实现PC、平板、手机多端自适应。采用弹性布局与媒体查询技术,确保不同设备均有流畅视觉体验,企业形象统一。查看源码 -
(自适应)蓝色建材亚克力板材装饰材料pbootcms网站模板这款基于PbootCMS开发的响应式模板为建材板材行业优化设计,适用于亚克力板材、建筑装饰材料等企业展示需求。采用HTML5技术实现手机/PC跨终端适配,管理员通过统一后台即可同步查看源码 -
(自适应)蓝色沙盘复古建筑模型制作网站模板源码下载为建筑沙盘模型企业设计的响应式网站模板,通过三维空间展示技术结合产品参数可视化,有效提升模型作品的线上呈现效果与客户咨询转化率。查看源码 -
(自适应响应式)HTML5甲醛环境检测网站模板带在线留言和资料下载本模板为甲醛检测与环保科技企业开发,采用PbootCMS内核构建。首页集成空气质量数据可视化模块,服务流程采用时间轴展示设计,检测报告板块支持PDF在线预览功能查看源码 -
帝国cms自适应古诗词古籍名句网站整站带数据基于帝国CMS打造的专业古诗词文化网站模板,专注于古典文学内容的展示与传播。模板设计蕴含传统文化韵味,支持诗词鉴赏、名句赏析、古籍整理等特色功能,为诗词爱好者提供优质的在线阅读体验。查看源码 -
(响应式自适应)小学初中作文论文文章资讯博客pbootcms模板下载为中小学作文、教育类网站设计,特别适合展示学生作文、教学资源和写作指导等内容。采用响应式技术,确保在不同设备上都能获得良好的阅读体验。查看源码
| 分享笔记 (共有 篇笔记) |
