我在Laravel中的路线功能添加了问号(?),而不是斜杠(/)
route('servers.index', 321); // http://domain/public_html/server?321
我希望它返回http://domain.com/public_html/clientarea/server/321
路线:
Route::group(['prefix' => 'clientarea'], function()
{
Route::get('/', 'UsersController@index');
Route::get('server/{id}', 'ServersController@index');
});
Route::resource('users', 'UsersController');
Route::resource('servers', 'ServersController');
答案 0 :(得分:2)
route
函数需要一个参数数组。您可以按参数名称或按顺序
route('servers.index', array(321));
或者这个(假设参数被称为id
route('servers.index', array('id' => 321));
答案 1 :(得分:2)
您应该了解route()
函数应该如何工作。例如,如果您计划使用route()
引用路线,则应指定路线。一旦你命名,你必须确保你正确地传递参数,如Lukas所说。
如果Laravel无法找到为路径定义的匹配参数,则默认情况下将参数设置为查询字符串的一部分。由于路线不存在,因此无法找到您传入的匹配参数。
查看文档:{{3}}
答案 2 :(得分:0)
$url = URL::route('welcome') . '#hash';
return Redirect::to($url); // domain.com/welcome#hash
http://laravel.io/forum/02-07-2014-how-to-append-hashtag-to-end-of-url-with-redirect