2015-11-24 4 views
0

Я пишу код для проверки электронной почты и мой URL генерируется как:Laravel: Маршрут не найдена ошибка:

http://example.com/auth/verify/InR9Jn%2FF6OpDpBlUpw5fXfbMgT6thonODPua0iX4AKI%3D

Я использую urlencod кодировать его после base64 и я получаю Not Found Exception для маршрут из-за % Войдите в него. Маршрут определяется как:

Route::get(
    'auth/verify/{confirmation_code}', 

Как его решить? Как я могу сделать знак% приемлемым?

+0

но вы не поставили контроллер и действие. Вы даете только параметры, когда это срабатывает. –

ответ

0

В соответствии с вашим кодом вы забыли указать имя контроллера и действия.

Route::get('auth/verify/{confirmation_code}', '[email protected]'); 
+0

Я думаю, мы можем предположить, что он это сделал. Проблема в том, что он просто не попадает на ури, что не имеет ничего общего с выше. – Jazerix

0

Возможно, кодировка знака «%» в URL как «% 25»? Знак процента используется для кодирования специальных символов, поэтому вы также должны кодировать сам знак.

0

Я думаю, что это может помочь:

Accepting an encoded URL in a Laravel 4 route:

Как уже упоминалось @Phil Sparks вы можете сделать это:

Route::get('add/{encoded_url}', function($encoded_url) 
{ 
    return 'The URL is: '.rawurldecode($encoded_url); 
})->where('encoded_url', '.*'); 

Также проверьте ответ Бену.

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