我会尽可能简单地解释我的问题。
我的索引URI也正常运行并显示我的" test"消息。
put(1);
但其他URI无法正常工作并显示"找不到文件"消息。
https :// domain.com /
然而,这个URI正如我想要的那样工作:
https :// domain.com / about
我真的不明白为什么,有人可以帮助我吗?谢谢你的帮助 ! :)
我的路线
https :// domain.com / index.php / about
我的.htaccess
$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';
我的控制器文件名
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^pages/view(/)?(.*)$ /$2 [R=301,L]
RewriteRule ^pages(/)?(.*)$ /$2 [R=301,L]
RewriteCond $1 !^((user_guide|img|css|js|scripts|fonts)\/.*|index\.php|assets/|robots\.txt|.*\.css)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
我的控制器类
Pages.php
我的配置uri协议(我已经尝试过QUERY_STRING和PATH_INFO)
<?php
class Pages extends CI_Controller {
public function view($page = 'home')
{
echo'test';
exit;
}
}
?>
我很乐意得到你的帮助!
答案 0 :(得分:4)
尝试在.htaccess中使用以下内容并检查。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]