服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - 解决CodeIgniter伪静态失效

解决CodeIgniter伪静态失效

2020-07-02 14:51PHP开发实例 PHP教程

今天在项目中希望将原来丑陋的地址变得漂亮简单;伪静态规则是没有错的,但万想不到CodeIgniter竟然报404找不到页面。

原来地址: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';

 

页面终于显示正常了;

延伸 · 阅读

精彩推荐