[英]Clean page urls using URI Routing in Codeigniter
Here is my folder structure 这是我的文件夹结构
application
|
controllers
|
Pages.php
|
views
|
pages
about.php
home.php
I want to access my about.php page by just going to base_url/about but i keep getting The requested URL localhost/appfolder/about
was not found on this server. 我只想访问base_url / about即可访问我的about.php页面,但我一直在获取此服务器上未找到The requested URL localhost/appfolder/about
。
Here is how my Pages controller looks like 这是我的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');
}
}
and my routes.php looks like this 和我的routes.php看起来像这样
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
What am I not doing right? 我做错了什么?
You need to replace /
by DIRECTORY_SEPARATOR
in file_exists
function. 您需要在file_exists
函数中用DIRECTORY_SEPARATOR
替换/
。 It should work by now. 现在应该可以正常工作了。 And in routes.php default_controller
should be pages
, not pages/view
. 在route.php中, default_controller
应该是pages
,而不是pages/view
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.