解决CodeIgniter伪静态失效_PHP教程
程序员文章站
2022-05-09 20:45:35
...
原来地址:http://127.0.0.1/onsite/index.php/welcome/index/abc123
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]
$config['uri_protocol'] = 'AUTO';
$config['uri_protocol'] = 'PATH_INFO';
修改后地址:http://127.0.0.1/onsite/abc123.html
复制代码 代码如下:
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]
规则是没有错的,但万想不到CodeIgniter竟然报404找不到页面;经过测试在根目录建立同名的html文件是能够正常显示的;
那问题应该是CI的配置导致的;经过一番波折,发现一个参数:
复制代码 代码如下:
$config['uri_protocol'] = 'AUTO';
把它改成:
复制代码 代码如下:
$config['uri_protocol'] = 'PATH_INFO';
页面终于显示正常了;