2016-11-16 2 views
0

Laravel 5.2 응용 프로그램이 있습니다. GET 방식으로 ID라는 매개 변수를받는 경로가 있습니다. , 나는 %을 삭제하거나 . 모든 것이 잘 작동하는 경우Laravel의 URL 매개 변수 형식

Somecharacter%40otherThing.somethingelse 

은, 위와 같이 ID를 보내는 브라우저 나에게 File not found을 제공하지만 다음 ID의 형식은 나에게 몇 가지 문제를주고, ID를이 같이 형성된다 그것들은 URL에 공존 할 수 없다. 내가 길에서 절을 수정할 필요가 있다고 생각하기 시작하고, 그래서

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

,하지만 난 정확히 내가에 넣어해야하는지 모르겠어요 Routes.php 파일의 경로입니다 makeit은 전에 말했던 매개 변수를 받아 들인다. 고마워요!

+0

무엇 당신은'where' 제거 일어나는 경우에 사용하는 ID를 얻을 암호화를 urlencode

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

로 ID를 전달? – Roadirsh

+0

아니면 요청을 보낼 때'base64_encode'를 할 수 있고 컨트롤러는'base64_decode'를 사용하여 ID를 알아낼 수 있습니까? – Roadirsh

+0

@Roadirsh 감사합니다! 그것은 미친 생각이 아니었고, 나는 그것을 만들었고 작동했습니다 (y) –

답변

0

그냥 다시

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