Sat*_*ati 4 php codeigniter codeigniter-2 codeigniter-routing
谁能告诉我,问题出在哪里?
这是我的控制器
class Support extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('support_model');
$urlarray = array("index","delete");
if(!in_array($this->uri->segment(2),$urlarray)){
$this->viewticket($this->uri->segment(2));
}
}
public function viewticket($id){
if(!empty($id)){
$this->load->view('templates/logged_header');
$this->load->view('support/view');
$this->load->view('templates/footer');
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的routes.php
$route['default_controller'] = "welcome";
$route['benefits'] = 'welcome/benefits';
$route['faqs'] = 'welcome/faqs';
$route['distributors'] = 'welcome/distributors';
$route['contact'] = 'welcome/contact';
$route['purchase'] = 'welcome/purchase';
//login routes
$route['login'] = 'login/index';
$route['logout'] = 'login/logout';
$route['404_override'] = '';
Run Code Online (Sandbox Code Playgroud)
localhost/ciproj/support/hello-world给我404 Page Not Found错误
如果我使用exit;后$this->load->view('templates/footer');,页面显示空白页面.
我在支持相关的路线中没有任何东西,而且其他方法都有效吗?我在路线中缺少什么?
谢谢您的帮助.
判断标题,首先检查你的服务器是否使用PHP运行CGI/FastCGI(你可以简单地检查一下phpinfo()).
如果是这样,请更改以下内容config.php:
$config['uri_protocol'] = "REQUEST_URI";
Run Code Online (Sandbox Code Playgroud)
回到主题,您可以通过在routes.php文件中使用下面的单行路由来实现:
$route['support/(?!index)(?!delete)(:any)'] = "support/viewticket/$1";
Run Code Online (Sandbox Code Playgroud)
并从您的__construct方法中删除这些行:
$urlarray = array("index","delete");
if(!in_array($this->uri->segment(2),$urlarray)){
$this->viewticket($this->uri->segment(2));
}
Run Code Online (Sandbox Code Playgroud)
让我知道它是如何工作的.
| 归档时间: |
|
| 查看次数: |
29368 次 |
| 最近记录: |