解决CodeIgniter伪静态失效

时间:2021-05-18

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

页面终于显示正常了;

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章