我正在编写电子邮件验证代码,我的网址生成为:
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}', 'NameOfYourController@action');
答案 1 :(得分:0)
也许编码'%'在URL中签名为"%25"?百分号用于编码特殊字符,因此您也必须对符号本身进行编码。
答案 2 :(得分: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', '.*');
同时检查本的回答。