我刚刚将Laravel安装到子目录http://domain.com/~username/
中,但我的URL都是从根http://domain.com/
而不是已安装的子目录输出的。
我正在使用URL::to('example/page');
生成网址,但输出不正确
输出:http://domain.com/example/page
应输出:http://domain.com/~username/example/page
。
我在'url' => 'http://domain.com/~username'
文件中设置了app.php
。 (尝试使用/不使用尾部斜杠)
我确实找到了使用Config::get('app.url')
的解决方法,这会正确输出网址,但我不愿意,因为我必须通过我的代码将所有内容更改为该内容。
还有其他人有这个问题吗?在我看来,在拉拉维尔,我对我来说是一个非常大的错误,或者我错过了一些明显的东西?
答案 0 :(得分:0)
您似乎正在使用错误的URL帮助程序。
您需要生成网址的任何地方:(URL Helpers)
$url = route('routeName', $params);
在您的routes.php中:(Named Routes)
Route::get('user/profile', array('as' => 'routeName', function()
{
//
}));
您还可以使您的路线都指向控制器方法并使用:
Route::get('user/profile', 'UserController@showProfile');
无论您何时需要网址:
$url = action('UserController@showProfile');
这些方法可以像这样混合和匹配:
在routes.php中
Route::get('user/profile', array('as' => 'profile', 'uses' => 'UserController@showProfile'));
只要您需要网址
$url = action('UserController@showProfile');
$url = route('profile', $params);