我刚刚开始学习CodeIgniter并试图在这个结构中设置我的项目:
规范
Apache / 2.4.27(Win64)PHP / 5.6.31。
服务器:WAMP Server 3 Localhost设置
CodeIgniter 3.1.2
目录
www/CI/firstci/******
因此,当我导航到www/CI/firstci/
找不到404页面找不到您请求的页面。
如果我把我的CodeIgniter放在这个
的根上 目录
www/firstci/******
当我导航到www/firstci/
时它会工作,它会引导我进入欢迎页面。
所以我的问题是如何修复此路由/路径问题?如果可能的话解释为什么CodeIgniter也会这样呢?
答案 0 :(得分:2)
此处运行CI安装程序的基本步骤。
config.php
index.php
文件。这是documentation link 答案 1 :(得分:1)
好的,我发现在我改变之后:
<强> routes.php文件强>
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
要
$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
添加名为Pages.php的控制器文件
class Pages extends CI_Controller {
public function view($page = 'home') {
if (!file_exists(APPPATH.'views/pages/'.$page.'.php')){
show_404();
}
$data['title'] = ucfirst($page);
$this->load->view('templates/header');
$this->load->view('pages/'.$page, $data);
$this->load->view('templates/footer');
}
}
还添加.htaccess
RewriteEngine on
RewriteCond $1 !^(index\.php|assets|images|js|css|uploads|favicon.png)
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^(.*)$ ./index.php/$1 [L]
并将相关文件添加到查看文件夹,将其组织到此结构中:
templates/header
pages/'.$page, $data
templates/footer
它现在可以工作,并能够指导我到任何php页面