当前位置:首页 > PHP教程 > php应用 > 列表

解决CodeIgniter伪静态失效

发布:smiling 来源: PHP粉丝网  添加日期:2021-02-10 14:34:42 浏览: 评论:0 

今天在项目中希望将原来丑陋的地址变得漂亮简单;

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

修改后地址:http://127.0.0.1/onsite/abc123.html 代码如下:

  1. <IfModule mod_rewrite.c> 
  2.  RewriteEngine on 
  3.  RewriteBase /onsite 
  4.  
  5.  RewriteCond %{REQUEST_URI} ^system.* 
  6.         RewriteRule ^(.*)$ /index.php?/$1 [L] 
  7.  
  8.  RewriteCond %{REQUEST_URI} ^application.* 
  9.         RewriteRule ^(.*)$ /index.php?/$1 [L] 
  10.  
  11.  RewriteCond %{REQUEST_FILENAME} !-f 
  12.  RewriteCond %{REQUEST_FILENAME} !-d 
  13.  RewriteRule ^(.*)\.html$ index.php/welcome/index/$1 [L] 
  14. </IfModule> 

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

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

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

把它改成:

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

页面终于显示正常了;

Tags: CodeIgniter 伪静态失效

分享到: