Php 是否可以用不同的url显示相同的页面?
我想为不同的URL显示相同的内容。例如:Php 是否可以用不同的url显示相同的页面?,php,codeigniter,url,Php,Codeigniter,Url,我想为不同的URL显示相同的内容。例如: website.com/controllername/country/state1/dist1/ website.com/controllername/country/state2/dist2/ 我希望这两个URL显示相同的内容。即使某些内容会因URL而异(如州和地区名称)。我不想为每个URL创建单独的内容/页面。我想知道是否有可能在Codeigniter中这样做?是否可以在Codeigniter中显示上述URL?与其他框架不同,Codeigniter
website.com/controllername/country/state1/dist1/
website.com/controllername/country/state2/dist2/
我希望这两个URL显示相同的内容。即使某些内容会因URL而异(如州和地区名称)。我不想为每个URL创建单独的内容/页面。我想知道是否有可能在Codeigniter中这样做?是否可以在Codeigniter中显示上述URL?与其他框架不同,Codeigniter没有全局模板系统。每个控制器独立于系统控制自己的输出,除非另有规定,否则视图为FIFO 例如,如果我们有一个全局标头:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd" >
<html>
<head>
<title><?=$title?></title>
<!-- Javascript -->
<?=$javascript ?>
<!-- Stylesheets -->
<?=$css ?>
</head>
<body>
<div id="header">
<!-- Logos, menus, etc... -->
</div>
<div id="content">
是的,您可以在路由上使用不同的url设置设置相同的页面。 有关更多信息,请参阅以下链接: $route['controllername/country/state1/dist1/']=“目录/产品查找”;
$route['controllername/country/state1/dist2/']=“目录/产品查找” 是的,使用Codeigniter路由是可能的 在
应用程序/config/routes.php
中,粘贴以下代码并更改所使用的控制器和函数名
$route['([a-zA-Z0-9----u%])+/([a-zA-Z0-9----u%])+/([a-zA-Z0-9----u%])]='your_controller_name/your_function_name/$1/$1'代码>改进克里希纳拉的答案
你需要
website.com/controllername/method1/st/dist/
website.com/controllername/method2/st/dist/
//为了更好地理解,我改变了一些变量,“国家”将
//这是主要的变化
所以在你的控制器上你只需要
public function method1($st1,$st2){
$this->load->view('header');
$this->load->model('data_processing');
$data['data'] = $this->data_processing->any_model_function($st1,$st2);
$this->load->view('page_you_want',$data);
//here you choose the same view for both methods
$this->load->view('footer');
}
public function method2($st1,$st2){
$this->load->view('header');
$this->load->model('data_processing');
$data['data'] = $this->data_processing->any_model_function($st1,$st2);
$this->load->view('page_you_want',$data);
//here you choose the same view
$this->load->view('footer');
}
在Kavin Smk解释的路线配置中,注意到的只是一个错误,而不是
'your_controller_name/your_function_name/$1/$1/$1';
应该是
'your_controller_name/your_function_name/$1/$2/$3';
嗯,总是有很多方法可以做到这一点,选择你的。。。
祝你好运 我猜你想要相同的视图
文件,有两个不同的路径
是的,应该是这样,这就是这种URL模式的全部要点。这完全取决于设置路由规则等。我相信您可以在文档中对此进行研究。在此路由中,所有具有2个参数的页面都可以访问相同的页面。这不是个好办法。
'your_controller_name/your_function_name/$1/$1/$1';
'your_controller_name/your_function_name/$1/$2/$3';