2016-11-16 92 views
0

我有一個Laravel 5.2應用程序。我有一個路由,我通過GET方法接收一個名爲ID的參數。該ID的格式是給了我一些問題,一個ID形成爲類似:Laravel中的URL參數格式

Somecharacter%40otherThing.somethingelse 

發送ID如上給我File not found在瀏覽器中,但是,如果我刪除%.一切工作正常,就像它們不能在URL中共存一樣。在routes.php文件文件的路徑是:

Route::get('generateFile/{action}/{id?}',array('as'=>'generateFile','uses'=>'[email protected]'))->where('id', '(.*)'); 

所以,我開始相信,我必須修改路由的其中條款,但我不知道究竟我應該把對如前所述,makeit接受一個參數。先謝謝了!

+0

發生什麼,如果你刪除'where'? – Roadirsh

+0

或者,也許你可以在發送請求時執行'base64_encode'並在控制器中使用'base64_decode'來檢索ID? – Roadirsh

+0

@Roadirsh謝謝你!這不是一個瘋狂的想法,我做到了,它的工作原理(y) –

回答

0

只是通過ID與密碼進行urlencode

urlencode(\Crypt::encrypt(id)); 

獲得ID後面使用

urldecode(\Crypt::decrypt(id));