如何将参数传递给索引和自定义路由
问题描述:
我想将参数传递给索引函数,如果参数不是,则重定向到主页。我也添加了自定义路线。我在哪里错过了代码?如何将参数传递给索引和自定义路由
$route['main/(:any)'] = 'main/index/'; // looks like has a mistake
www.example.com - >当deafult指数函数
www.example.com/females - >当deafult指数具有字符串参数 '女'
class Main extends CI_Controller {
public function index($gender) {
load->view('inc/header_view');
if((isset($gender)) && ($gender =='female')){
$this->load->view('female_view');
} else {
$this->load->view('female_view');
}
}
答
您可以通过下面的代码
class Main extends CI_Controller {
public function index($gender="") {
if($gender == "")
{
$this->load->view('home');
} else {
$this->load->view('female_view');
}
}
而且,正如你所说得到这个URL工作www.example.com
& www.example.com/females
做到这一点,你需要以下添加到您的routes.php文件
$route['default_controller'] = "main";
$route['(:any)'] = 'main/index/$1';
如有任何疑问,请告知我
答
你应该尝试它就像
$route['main'] = 'main/index';
$route['main/(:any)'] = 'main/index/$1';
或者你可以使用uri段。
http://www.codeigniter.com/user_guide/libraries/uri.html?highlight=uri%20segments#CI_URI::segment