2013-03-30 5 views
2

У меня есть один контроллер по умолчанию в CodeIgniterпередавая переменную по умолчанию контроллер в CodeIgniter

class Welcome extends CI_Controller { 

    public function index() 
    { 
     $this->load->view('welcome_message'); 
    } 

, как вы знаете, мы можем назвать эту функцию

sitename/index.php 

или

sitename/ 

, как я переписать url в .htaccess

теперь я хочу назвать ту же функцию индекса с параметром прохождения как

sitename/seo-services 

где сео-сервисы будут переходить к В параметре функции индекса для загрузки страницы сео-сервисов.

, как по умолчанию Синтаксис CodeIgniter является

example.com/class/function/ID

я хочу в этом Формет

example.com/class/ID

где я хочу пропустить функцию для функции по умолчанию (индекс) класса

как я могу это сделать?

Благодаря

, как вы можете видеть, я пытаюсь это для сео цели.

ответ

4

Параметры, добавленные к вашему URL, автоматически преобразуются в аргументы вашего метода.

Например, если у вас есть метод, называемый индексным индексом в вашем приемном контроллере, то http://www.example.com/index.php/welcome/index/[parametervalue] автоматически передаст [parametervalue] вашему методу , при условии, что вы определяете функцию, чтобы получить параметр

class Welcome extends CI_Controller { 

    public function index($parameterValue=null) 
    { 
     //do whatever you need here 
     //note the default value just in case it is null 
    } 
} 

Если вы хотите, чтобы сделать вещи короче, вы должны определить псевдоним в конфигурационном файле/routes.php. Кроме того, если вы хотите избавиться от index.php, вам придется настроить ваш веб-сервер соответственно (либо через .htaccess, если используете apache или web.config при использовании iis)

+0

дорогой я сделал то же самое, но я получил ошибку 404 Страница не найдена, на самом деле я пытаюсь передать значение контроллеру по умолчанию, и мой url похож на localhost/seo-services – air

+0

Как упоминается в параграфе ниже кода. Сначала вам нужно настроить .htaccess (как упоминается в документе здесь http://ellislab.com/codeigniter/user-guide/general/urls.html). Затем вам нужно изменить маршруты в своем приложении/config/routes.php (как описано в документе здесь http://ellislab.com/codeigniter/user-guide/general/routing.html) –

+0

Я думаю, что не могу чтобы объяснить вам, посмотрите, что синтаксис по умолчанию - example.com/class/function/ID. Я хочу example.com/class/ID, где я пропущу функцию для функции индекса класса – air

Смежные вопросы