Проблема с маршрутизацией URL в codeigniter - PullRequest
0 голосов
/ 06 августа 2010

Я пытаюсь перенаправить URL-адрес, используя URL-адрес кодирования.Я хочу перенаправить URL-адрес, например

  • / users / edit? Отправить письмо на userController / editemail
  • / users / edit? Пароль на userController / editpassword

Я попытался использовать следующую строку в файле route.php в папке конфигурации

$route["users/edit?(email|password)"] = "userController/edit$1";

Эта страница не найдена.Я предполагаю это?рассматривается как символ регулярного выражения.Я попытался избежать этого, но это тоже не сработало.

Я не хочу устанавливать для параметра конфигурации uri_protocol значение PATH_INFO или QUERY_STRING, так как это просто симпатичный URL, который я хочу настроить, а не передавать что-либодействие.

Может ли кто-нибудь помочь мне здесь?

С уважением

1 Ответ

0 голосов
/ 06 августа 2010

Вы должны избежать ?, как это, это должно работать. (не проверено)

$route["users/edit\?(email|password)"] = "userController/edit$1";

Позже редактировать :

Работает как задумано:

$route["users/edit(email|password)?"] = "userController/edit$1";

userController выглядит так

<?php

class UserController extends Controller {

    function edit()
    {
        echo "general edit";
    }

    function editemail()
    {
        echo "edit email!";
    }

    function editpassword()
    {
        echo "edit password";
    }
}

Маршрутизатор работает так:

  • если вы перейдете на http://sitename/index.php/users/editemail, вы увидите editemail() действие.
  • если вы перейдете на http://sitename/index.php/users/editpassword, вы увидите editpassword() действие.
  • если вы перейдете на http://sitename/index.php/users/edit, вы увидите действие edit() (знак вопроса делает необязательным поле электронной почты / пароль, и вы можете сделать некоторые другие действия в edit() action
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...