2013-03-07 36 views
0

我試圖路由到控制器。它每次都能正常工作,但當網址中有(&)時,它停止工作。我在網上搜索,發現(:全部)都可以使用。它的工作,但當最後一個網址段(&)我必須在網址的末尾加上一個斜線(/)以使其工作。特殊字符laravel routing

ex。在這第二條路線正常工作,第一條不起作用

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]')); 

我只想找出一種方法,我可以在網址中提供接受的字母。

回答

0

&是URL的上下文中的特殊字符。你不應該把它包含在你的路徑中。最可能發生的是請求解析器正在查看&,然後確定這是一個格式錯誤的查詢字符串,即:some/path /?foo = 1 & bar = 2當格式錯誤時可能看起來像某些/ path/& foo = 1 & bar = 2

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