Codeigniter - 更改控制器的URL路径

时间:2014-03-18 07:25:19

标签: php codeigniter

目前我的网址是domain.de/site/home,domain.de/site/about。

但我希望我的网址是domain.de/home,domain.de/about等。

我已经有一个非常简单的控制器。在这个控制器中,我为每个站点提供了一个功能:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Site extends CI_Controller {
public function index() {
    $this->home();
}

public function home() {
    $this->load->view("site_header");
    $this->load->view("site_nav");
    $this->load->view("content_home");
    $this->load->view("site_footer");
}

public function about() {
    $this->load->view("site_header");
    $this->load->view("site_nav");
    $this->load->view("content_about");
    $this->load->view("site_footer");
}
}

2 个答案:

答案 0 :(得分:2)

打开application/config/route.php并添加以下路线路径

$route['home'] = "site/home";
$route['about'] = "site/about";

答案 1 :(得分:-1)

您可以在config / routes.php文件中定义URL模式与控制器/操作之间的关联。阅读docs here,您将了解如何完成。

默认情况下,您的路由将是{domain} / {controller_name} / {action_name},除非您在routes.php中覆盖它,您可以在其中为控制器/操作分配不同的URL模式。

因此,在您的情况下,您可能需要以下内容:

$route['home'] = 'site/index';
$route['about'] = 'site/about';

更好的是,您可能希望将站点控制器设置为默认控制器:

$route['default_controller'] = "site";

然后,从基本URL开始的所有请求都将定向到站点控制器中的操作。即{domain} / {action_name}将自动定向到site / action_name。