解决CodeIgniter伪静态失效

原来地址:http://127.0.0.1/onsite/index.php/welcome/index/abc123

修改后地址:http://127.0.0.1/onsite/abc123.html

代码如下:

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteBase /onsite

RewriteCond %{REQUEST_URI} ^system.*
        RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^application.*
        RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)\.html$ index.php/welcome/index/$1 [L]
</IfModule>

规则是没有错的,但万想不到CodeIgniter竟然报404找不到页面;经过测试在根目录建立同名的html文件是能够正常显示的;

那问题应该是CI的配置导致的;经过一番波折,发现一个参数:

代码如下:

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

把它改成:

代码如下:

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

页面终于显示正常了;

(0)

相关推荐

  • CodeIgniter框架提示Disallowed Key Characters的解决办法

    打开ci框架的源码不难发现,在ci的核心input类中有这样一个函数: 复制代码 代码如下: function _clean_input_keys($str)    {        if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))        {            exit('Disallowed Key Characters.');        } // Clean UTF-8 if supported        if (U

  • Codeigniter出现错误提示Error with CACHE directory的解决方案

    Codeigniter项目访问时如果出现如下错误提示: Error with CACHE directory. 检查一下cache目录的权限,就会发现 drwxr-xr-x  3 root root 4096 Mar  1 13:53 cache 这时候只要将其改为可读写, # chmod 777 cache 问题解决.

  • 让CodeIgniter数据库缓存自动过期的处理的方法

    CodeIgniter框架是一个非常小巧的PHP框架.CI自带数据库文件缓存,但按官方的说法,缓存设置后永不过期,除非你调用方法主动删除. Cache files DO NOT expire. Any queries that have been cached will remain cached until you delete them. 感觉太弱智了,非常不方便. 修改一下db类,在开启缓存时设置一个过期时间,到期自动缓存自动失效. 1:CI database/DB_dirver.php

  • codeigniter框架The URI you submitted has disallowed characters错误解决方法

    CI中URI传递参数时,出现:The URI you submitted has disallowed characters.错误.原因:这是由于uri中存在CI不允许的字符. 解决办法: 在config/config.php文件中,找到 复制代码 代码如下: $config['permitted_uri_chars'] = 'a-z 0-9~%.:_/-i'; 在里面添加允许的字符.如我需要添加@符号,则可以这样: 复制代码 代码如下: $config['permitted_uri_chars

  • 解决CodeIgniter伪静态失效

    原来地址:http://127.0.0.1/onsite/index.php/welcome/index/abc123 修改后地址:http://127.0.0.1/onsite/abc123.html 复制代码 代码如下: <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /onsite RewriteCond %{REQUEST_URI} ^system.*        RewriteRule ^(.*)$ /index.php?

  • 使用微信内嵌H5网页解决JS倒计时失效问题

    项目要求:将H5商城页面嵌套到公司微信公众号里 项目本身的开发跟移动端网页并无太多差异,只是这昨天遇到一个问题,说是棘手,到也简单. 用户下单后,在选择支付方式页面,有个倒计时的逻辑(从下单时开始计算,24小时后未支付,会有ws自动取消这个订单),js代码如下: <script type="text/javascript"><br> var timespan = '20160113'; //后台程序生成24小时时间差值,这里随便写写 var timer; fun

  • 解决laravel session失效的问题

    最新在学习laravel,用到了session,因为laravel没法用$_SESSION 所以只能用框架的session. 贴上代码 <?php namespace App\Http\Controllers; use App\Http\Requests; use Request; use Illuminate\Support\Facades\Session; class CommonController extends Controller { static function login(){

  • idea配置springboot热部署终极解决办法(解决热部署失效问题)

    idea配置springboot热部署终极解决办法,解决热部署失效问题 1. 添加maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <version>2.2.5.RELEASE</version> <optional>true</opt

  • 解决mybatisplus MetaObjectHandler 失效的问题

    目录 一.什么是metaObjectHandler 二.失效场景及解决方案 一.什么是metaObjectHandler MetaObjectHandler接口是mybatisPlus为我们提供的的一个扩展接口,我们可以利用这个接口在我们插入或者更新数据的时候,为一些字段指定默认值使用方式如下: 1.在实体类上加入@TableField注解 @Getter @Setter public class AbstractBaseDO<T extends Model<T>> extends

  • 解决Codeigniter不能上传rar和zip压缩包问题

    codeigniter在上传文件时对格式的限制是在application文件夹下config中的mimes.php文件中定义的.该文件默认不包含rar,而且对zip的定义不能上传压缩包.我们在类中,加入以下代码,即可解决这个问题: 复制代码 代码如下: "zip" => array("application/x-zip", "application/zip" ,"application/x-zip-compressed"

  • 解决javascript 全局变量失效的问题

    问题: 我在js文件中定义了一个全局变量:var a,在函数B()中给a赋值,然后在函数C()中访问a结果发现a居然是undefined 找原因: 查了不少资料感觉和我的情况都不同,仔细分析了一下,发现了一些端倪:我的操作是这样的,我在A页面中加了iframe,iframe的地址是B,我在A页面中调用了B()函数,然后又在B页面中调用了C()函数.问题就出在这了,javascript的全局变量的作用范围实际上是只在当前页面起作用(仔细想一下也应是这样,要不然岂不是要乱套了),从这个意义上讲jav

  • Session对象失效的客户端解决方法

    ASP(Active Server Pages)技术的Session对象用于存储用户在对话期间的私有信息.当前用户的Session对象中定义的变量和对象能在页面之间共享,但是不能为应用中其他用户所访问,因此在用ASP开发网络应用程序时,可以利用Session对象保存和跟踪用户的状态信息. Session对象有一个十分重要的属性:Timeout,它用于设置在会话资源被释放前,会话对象所能保持非活动状态的时间(默认值为20分钟).当Timeout属性设置的时间值耗尽后,会话资源将被释放.通过Time

  • SpringBoot使用Async注解失效原因分析及解决(spring异步回调)

    目录 Async注解失效原因分析及解决(spring异步回调) Spring中@Async 有时候在使用的过程中@Async注解会失效 解决方式一 解决方式二 springboot @Async 失效可能原因 Async注解失效原因分析及解决(spring异步回调) Spring中@Async 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后,就已

  • @Transaction,@Async在同一个类中注解失效的原因分析及解决

    目录 @Transaction @Async在同一个类中注解失效 下面用伪代码阐述一下原因 说说解决 @Async的实现类方式 方法1:实现接口AsyncConfigurer 方法2:直接注入bean @Transaction @Async在同一个类中注解失效 在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解是不会生效的. 比如,下面代码例子中,有两方法,一个有@Async注解,一个没有.第一次如果调用了有注解的test()方法,会启动@Asy

随机推荐