2010-08-06 4 views
0

Я пытаюсь маршрутизировать URL-адрес с помощью маршрутизации URL-адреса. Я хочу, чтобы перенаправить URL какПроблема маршрутизации URL-адресов в codeigniter

  • /пользователей/редактировать? Почте UserController/editemail
  • /пользователей/редактировать? Пароль для UserController/editpassword

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

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

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

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

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

С уважением

ответ

0

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

$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() действий
+0

@Bogdan - уже пробовал и не чудо. если это имеет какое-то отношение к разрешенным URL-адресам, оно не имеет нигде в нем, но не показывает сообщение «URI has disowed characters». Оно показывает «Страница не найдена». – vikmalhotra

+0

Я сделал тест и теперь Работает. Проверьте позже, отредактируйте! :) –

+0

@Bogdan - Я этого не понял. То, что вы написали в более позднем редактировании, не должно работать на такие URL-адреса, как 'users/editemail',' users/editpassword' и 'users/edit'? Где знак вопроса в URL? У меня проблема в 'users/edit? Password'. – vikmalhotra

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