我只是安装了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。
答案 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