第二个url参数返回php错误

时间:2016-11-21 21:40:09

标签: codeigniter codeigniter-3

输入第一个参数时没有问题,但是当我输入第二个参数时,我得到了下面提到的错误

routes.php some parth

的.htaccess

RewriteEngine on
RewriteCond $1 !^(index\\.php|resources|robots\\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

我输入此网址:www.domain.com/first-parameter/second-parameter

返回错误:

A PHP Error was encountered

Severity: Error

Message: Call to undefined function base_url()

Filename: _inc/_head.php

Line Number: 4

Backtrace:

3 个答案:

答案 0 :(得分:0)

routes.php文件

/*Ayarlar*/
$route['default_controller'] = 'Home';
$route['404_override'] = '';
/*Ayarlar*/
$route['(:any)'] = 'Home/index/$1';
$route['translate_uri_dashes'] = true;

我输入此网址:www.domain.com/first-parameter/second-parameter

本地网址示例:http://localhost/sicacik-yemek-tarifleri-mobile/bilgi/assadad/asasad

控制器/ Home.php

class Home extends public_Controller {

public function __construct()
{
    parent::__construct();
}

public function index($s1='')
{

    if(!empty($s1)){

        if (!empty($data['anakategori'])) {
            $this->load->view('example',$data);
        } elseif (!empty($data['altkategori'])) {
            $this->load->view('example',$data);
        }elseif(!empty($data['tarif'])){
            $this->load->view('example',$data);
        } elseif(!empty($kacKalori)){
            $this->load->view('example',$data);
        }else{
            show_404();
        }

    }else{
        $this->load->view('Home',$data);
    }
}

}

答案 1 :(得分:0)

不要发布图片而不是代码。代码用于以更方便/更简单的方式复制查找解决方案。

首先这个(在用户指南的RED中很重要):

  

保留路由必须在任何通配符或正则表达式路由之前。

所以你的$route['translate_uri_dashes'] = true;必须在不同的地方。 检查default file以确定放置它的位置。

另外,

  

路线将按照定义的顺序运行。较高的路线总是优先于较低的路线。

所以你必须重新排序最后两个

$route['soru-cevap/(:any)/(:any)'] = 'soru_cevap/index/$1/$2'; //this one is more specific one
$route['soru-cevap/(:any)'] = 'soru_cevap/index/$1';

//Take a look of controller and method names. 
//Ones with dashes probably won't work.

答案 2 :(得分:0)

您需要包含$ route ['(:any)/(:any)'] =' Home / index / $ 1 / $ 2&#39 ;; line.php中的行

www.domain.com/first-parameter/second-parameter url。