/ / routing URI zawierający wiadomość e-mail w codeigniter - codeigniter, route, uri

routing URI zawierający wiadomość e-mail w codeigniter - codeigniter, route, uri

Jest to link aktywacyjny e-mail napisany w kontrolerze użytkownika

http://www.some.com/user/activate_user/user@gmail.com/90101001010

Chcę do tego napisać trasy.

Spróbowałem tego poniżej, ale jego

// USER POST
$route["user"] = "user";
$route["user/activate_user/:any/:num"] = "user/activate_user/$1/$2";

Błąd

An Error Was Encountered

The URI you submitted has disallowed characters.

jeśli uruchomię uri w ten sposób, to jest w porządku

http://www.some.com/user/activate_user/activate_user/1111/90101001010

dlaczego nie akceptuje identyfikatora e-mail?

Odpowiedzi:

2 dla odpowiedzi № 1

powinno być:

$route["user/([w+-]+)(.[w+-]+)*@([a-zA-Zd-]+.)+[a-zA-Z]{2,6}/(:any)"]

Cały łańcuch jest wyrażeniem regularnym bez ograniczników lub modyfikatorów. Umieszczałeś ograniczniki, modyfikatory i również używałeś ^ i $.


1 dla odpowiedzi nr 2

Sprawdź swój plik konfiguracyjny, którego znaki uri są dozwolone w adresie URL. domyślnie wygląda to tak:

$config["permitted_uri_chars"] = "a-z 0-9~%.:_-";

jeśli chcesz dalej, odwiedź link Wytyczne Url autorstwa ellislab


1 dla odpowiedzi nr 3

To zadziałało

$config["permitted_uri_chars"] = "a-z 0-9~%.:_@-";
$route["user/activate_user/(:any)/(:any)"] = "user/activate_user/$1/$2"; –

0 dla odpowiedzi nr 4

Przejdź do config.php

Odnaleźć $config["permitted_uri_chars"] = "a-z 0-9~%.:_-";

I dodaj $config["permitted_uri_chars"] = "a-z 0-9~%.:_()@&-!";

I serwer zatrzymania lub odświeżania

Wymień to

$route["user"] = "user";
$route["user/activate_user/:any/:num"] = "user/activate_user/$1/$2";

Z tym

$route["user"] = "user";
$route["user/activate_user/(:any)/(:any)"] = "user/activate_user/$1/$2";

Dodany

Samouczek Aktywacja wiadomości e-mail


0 dla odpowiedzi № 5

To działało dla mnie

config.php

 $config["permitted_uri_chars"] = "a-z 0-9~%.:_@-";

router.php

 $route["user/activate_user/(:any)/(:any)"] = "user/activate_user/$1/$2";