Laravel 4.2安装在子目录中,但不包含在URL中

时间:2014-11-24 20:05:55

标签: url laravel subdirectory

我刚刚将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')的解决方法,这会正确输出网址,但我不愿意,因为我必须通过我的代码将所有内容更改为该内容。

还有其他人有这个问题吗?在我看来,在拉拉维尔,我对我来说是一个非常大的错误,或者我错过了一些明显的东西?

1 个答案:

答案 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);