Php Codeigniter-静态页面教程;行不通
我有以下文件: routes.phpPhp Codeigniter-静态页面教程;行不通,php,codeigniter,static,routes,Php,Codeigniter,Static,Routes,我有以下文件: routes.php $route['default_controller'] = "first"; $route['404_override'] = ''; $route['page/(:any)'] = 'page/view/$1'; page.php <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Page extends CI_Controlle
$route['default_controller'] = "first";
$route['404_override'] = '';
$route['page/(:any)'] = 'page/view/$1';
page.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Page extends CI_Controller {
public function index() {
$this->load->view('first');
}
public function view($page = 'first') {
if ( ! file_exists('application/views/pages/'.$page.'.php'))
// Whoops, we don't have a page for that!
show_404()
}
$this->load->view('pages/'.$page);
}
}
?>
在传递route.php文件中的任何内容时,需要检查页面控制器的$page-in-view方法
$route['page/(:any)'] = 'page/view/$1';
www.xxx.de/page/将向view方法传递一个空字符串或变量,您可以像这样检查它
if(!strlen($page)){
$page = "first";
}
使用uri类获取页面的更好方法
public function view() {
$page = $this->uri->segment(2, 'first');
if ( ! file_exists('application/views/pages/'.$page.'.php')){
// Whoops, we don't have a page for that!
show_404()
}
$this->load->view('pages/'.$page);
}
如果没有找到段,它将作为默认值首先传递您有/views/pages/first.php视图吗?尝试添加die('here');只是在查看方法中,看看它是否在那里…创建了它,添加了行,但什么都没有发生。就像它没有加载一样。或者只是在:any语句页(/:any)中移动斜杠。好的,我管理好了。班上少了一个}。对不起,伙计们。该类的结束标记不在那里。但现在我有另一个问题。由于新页面位于第二个文件夹(pages/)中,我如何管理视图中指向资产文件夹(css、js等)的路径?很抱歉。。。我以为它奏效了,但是。。不。我仍然不知道为什么。
public function view() {
$page = $this->uri->segment(2, 'first');
if ( ! file_exists('application/views/pages/'.$page.'.php')){
// Whoops, we don't have a page for that!
show_404()
}
$this->load->view('pages/'.$page);
}