2013-03-07 2 views
0

Я пытался добраться до контроллера. Он отлично работает каждый раз, но когда в URL-адресе есть (&), он перестает работать. Я искал в сети и узнал (все). Он работал, но когда последний сегмент URL имеет (&), я должен поместить косую черту (/) в конце URL-адреса, чтобы она работала.специальные символы laravel routing

ex. в этом 2-м маршруте работает правильно и первый не работает

Route::get('abc/abc/(:any)', array('uses' => '[email protected]')); 
Route::get('abc/abc/(:all)/do', array('uses' => '[email protected]')); 

ex. в этом отношении ни один из маршрутов не работает

Route::get('abc/abc/(:all)', array('uses' => '[email protected]')); 
Route::get('abc/abc/(:all)/do', array('uses' => '[email protected]')); 

ex. в этом оба маршрута работают правильно

Route::get('abc/abc/(:all)/', array('uses' => '[email protected]')); 
Route::get('abc/abc/(:all)/do', array('uses' => '[email protected]')); 

Я просто хочу узнать, как я могу предоставить принятые буквы в сегменте URL.

ответ

0

& - специальный символ в контексте URL-адреса. Вы не должны включать его в свои пути. Скорее всего, это то, что происходит с парсером запроса, смотрящим на &, а затем определяя, что это некорректная строка запроса, например: some/path /? Foo = 1 & bar = 2, когда искаженный может выглядеть как some/path/& foo = 1 & бар = 2

http://www.w3schools.com/tags/ref_urlencode.asp