0

我试图路由到控制器。它每次都可以正常工作,但是当 url 中有 (&) 时,它会停止工作。我在网上搜索,发现(:all)可以使用。它有效,但是当最后一个 url 段有 (&) 时,我必须在 url 的末尾添加一个斜杠 (/) 才能使其工作。

前任。在这第二条路线中正常工作,第一条路线不起作用

Route::get('abc/abc/(:any)', array('uses' => 'abc@abc'));
Route::get('abc/abc/(:all)/do', array('uses' => 'abc@do')); 

前任。在这条路线中没有一条可以正常工作

Route::get('abc/abc/(:all)', array('uses' => 'abc@abc'));
Route::get('abc/abc/(:all)/do', array('uses' => 'abc@do'));

前任。在这两条路线中都可以正常工作

Route::get('abc/abc/(:all)/', array('uses' => 'abc@abc'));
Route::get('abc/abc/(:all)/do', array('uses' => 'abc@do')); 

我只是想找出一种方法,我可以在 url 段中提供接受的字母。

4

1 回答 1

0

& 是 URL 上下文中的特殊字符。你不应该将它包含在你的路径中。最有可能发生的事情是请求解析器正在查看 & 然后确定这是一个格式错误的查询字符串,即: some/path/?foo=1&bar=2 当格式错误时可能看起来像 some/path/&foo=1&bar=2

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

于 2013-03-08T19:28:17.103 回答