我有一个Laravel 5.2应用程序。我有一个路由,我通过GET方法接收一个名为ID的参数。 ID的格式给我一些问题,ID形成如下:
Somecharacter%40otherThing.somethingelse
如上所述发送ID会在浏览器中显示File not found
,但是,如果我删除%
或.
,一切正常,就像它们无法在网址中共存一样。 Routes.php文件中的路由是:
Route::get('generateFile/{action}/{id?}',array('as'=>'generateFile','uses'=>'MyController@generate'))->where('id', '(.*)');
所以,我开始相信我必须修改路径中的 where 子句,但我不知道我应该准备什么来接受参数,正如我之前所说的那样。提前致谢!
答案 0 :(得分:0)
只需通过加密urlencode传递id
urlencode(\Crypt::encrypt(id));
使用
获取IDurldecode(\Crypt::decrypt(id));