最近在开发中使用了CodeIgniter框架,感觉这个框架比较轻量级,相对其它框架比较灵活。

在使用中遇到了如下问题:我的环境是nginx+php-fpm+mysql+CodeIgniter2.01。

当我在nginx里面设置了rewrite时候,例如

rewrite ^/ucenter/(.*)$ /platform/$1 last;

这时候CI框架取得的base_url是基于实际路径的,site_url函数生成的url中出现的不是ucenter目录,而是platform。但这不是我想要的,我希望用户看到的是ucenter。

解决方法:修改2个地方

1、编辑 system/core/Config.php文件, 注释掉324行

//$base_url .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);

修改为:

$pattern = "/^\/([^\/\.]*\/)*([^\/\.]*\.php)?(.*)?$/i";

preg_match($pattern, $_SERVER['REQUEST_URI'], $matches);

$base_url .= '/'.$matches[1];

2、修改应用配置文件 application/ucenter/config/config.php

修改$config['uri_protocol']       = 'AUTO';

为$config['uri_protocol'] = 'PATH_INFO';

php ci base url,CodeIgniter中base_url问题相关推荐

  1. CodeIgniter中URL含有中文字符串的解决方案

    codeIgniter默认的配置下是不允许URL中包含非ASCII字符的,如果我们有这样一个字符串: http://www.example.com/photo/ 北京/鸟巢.jpg 那么CI会毫不客气 ...

  2. php ci rest,在CodeIgniter框架中使用RESTful服务

    步骤3 分析example_api.php 接下来,我们打开application/controllers/example_api.php文件,仔细分析其代码. 首先,在CodeIgniter中,我们 ...

  3. php ci model条件查询,php – CodeIgniter中的多条件WHERE子句

    我想删除一些像核心PHP中的查询这样的数据 WHERE user_id=$id AND sender_id=$send_id OR user_id=$send_id AND sender_id=$id ...

  4. 利用 Cache_Lite代替codeigniter中的cache功能

    codeigniter的功能纵然强大,也有不足之处.其cache模式在于针对不同的uri就会生成cache文件,如果URL中参数不同,则 cache文件就会不同,从而产生了漏洞.如果访问者构建自动生成 ...

  5. CodeIgniter中的分页:完整指南

    使用任何全栈式Web应用程序框架的好处是您不必担心诸如输入处理,表单验证之类的常见任务,因为该框架已经为这些功能提供了包装. 因此,它使您可以专注于应用程序的业务逻辑,而不必一遍又一遍地重新发明轮子. ...

  6. 如何在CodeIgniter中压缩和解压缩文件

    本教程的前半部分介绍了使用内置CodeIgniter API创建zip文件的不同方法. 我们将看到如何在服务器上创建和保存zip文件,以及如何使它们可供最终用户下载. 下半部分讨论如何解压缩文件. 为 ...

  7. php $db-gt;query 行数,php – 如何在CodeIgniter中组合query()和limit()方法

    是否可以在codeigniter中执行类似的操作: publi function getcat($category_id) { $query = "(SELECT cat.id, cat.t ...

  8. baseurl php,html base URL是什么?html base详细解析汇总

    html base URL是什么?本篇文章主要讲解了什么是html base URL值,还有html base的详细解析和用法实例 html base URL的标签定义及使用说明: 标签为页面上的所有 ...

  9. 如何在CodeIgniter中使用会话数据

    作为CodeIgniter开发人员,了解如何使用核心会话库对您而言非常重要. 当然,您始终可以使用默认的$_SESSION语法,但是始终建议使用包装器. 从如何加载会话库开始,我们将继续讨论如何添加, ...

最新文章

  1. jstack 使用(转)
  2. 利用递归、迭代解决斐波那契数列问题与汉诺塔难题
  3. LeetCode 之Two Sum
  4. mysql 导出表结构和表数据 mysqldump用法(自己测试了)
  5. khoury计算机科学学院,东北大学Open House中国站
  6. 解神者php奥义高阶,《解神者》角色月曦九攻略技能解析和兽主推荐
  7. adb server version (31) doesn't match this client (40); killing...
  8. python opencv findcontours_OpenCV之视频分析 – 背景消除与前景ROI提取
  9. java 动软_动软代码生成器下载_2017动软代码生成器下载及相关推荐 - noYes软件大全...
  10. fastjson转换包含date类型属性的对象时报错com.alibaba.fastjson.JSONException: For input string 解决方法
  11. 揭秘阿里中台!一文看懂阿里推荐业务的两项利器 | 赠书
  12. android层叠卡片特效_LINE生日贺卡功能升级 快来试试私人生日贺卡 气球祝福特效...
  13. 图:智能手机Android系统的评委专用的比赛打分客户端,开发进行中...
  14. 任务调度:分布式调度引擎-DAGScheduleX简介
  15. Duplicate问题
  16. linux 如何通过进程号找到文件路径
  17. 学习总结20-04-18:包装类
  18. Unity3D-设置天空盒
  19. 【k哥爬虫普法】程序员183并发爬取官方网站,直接获刑3年?
  20. 文科生也能看懂,什么是熵

热门文章

  1. 污染物在线自动监控(监测)系统数据传输标准 (HJ212-2017)-空气质量监测数据包构造...
  2. SpringBoot RestFul风格API接口开发
  3. C# 从Object对象中读取属性的值
  4. Android SurfaceFlinger
  5. 【Flask】下载多个文件
  6. mysql 常用命令
  7. python安装过程的一些问题解决方案
  8. CSS3 选择器(Selector)
  9. AngularJS 监控对象属性:$watch和$digest
  10. H.264的编解码流程