laravel无法正确使用url

时间:2015-11-28 08:04:24

标签: php laravel url

我只是安装了laravel环境,我的url遇到了一些问题,我对此并不了解。这里是index.php,它首先运行。

<a href="pass">pass to page</a>

当我点击传递到页面链接时,它可能会转到我链接到的页面。但是找不到404。 这是app目录中的routes.php

Route::get('/', 'HomeController@showWelcome');
Route::get('pass', 'PassController@passToPage');

这是PassController中的函数

public function passToPage()
{
    return View::make('pass');
}

我注意到我只使用&#39; \&#39;(默认目录),我不能使用其他目录。 在此先感谢我在新的laravel。

3 个答案:

答案 0 :(得分:0)

你的代码中有棘手的部分。

首先,您应该在链接中使用斜杠前缀。例如:

<a href="/pass">pass to page</a>

或者像这样

<a href="{{ URL::to('pass', $params) }}">

如果您使用它而不使用斜杠,则href值可以添加到当前路径。如果你使用斜杠前缀,它总是指向根端点。

您可以考虑使用命名路由。例如

Route::get('pass', [
    'as' => 'pass', 'uses' => 'PassController@passToPage'
]);

然后在您的刀片视图中调用此路由,如下所示:

<a href="{{ URL::route('pass', $params) }}">
  如果没有参数

,则可以用[]代替$ params

如果错误仍然存​​在,则问题出在其他地方。

答案 1 :(得分:0)

最好使用命名路径。这样,您可以在不修改应用程序中的链接的情况下更改URL。

Route::get('pass', ['uses' => 'PassController@passToPage', 'as' => 'pass']);

<a href="{{ route('pass') }}">pass to page</a>

答案 2 :(得分:0)

我解决了这个问题。我第一次尝试直接到这个网址

http://localhost/test/ccc/public/pass

它不起作用,但是当我想要转到页面页面时,我需要像这样包含index.php

http://localhost/test/ccc/public/index.php/pass

当我输入它时,它可以工作,但我想从url中删除index.php。 要解决这个问题,我需要启用mod_rewrite。所以我得到httpd.conf,并删除#符号并启用mod_rewrite。现在它可以使用此URL

http://localhost/test/ccc/public/pass