Laravel路由NotFoundHttpException

时间:2014-03-16 10:01:49

标签: laravel laravel-4

我正在开始一个新的Laravel项目,我定义了一条路线,这是我的routes.php文件

 <?php

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the Closure to execute when that URI is requested.
|
*/

Route::get('signup', function()
{
    return View::make('signup');
});

Route::get('/', function()
{
    return View::make('welcome');
});

当我尝试加载页面时http://localhost/laravel-project/public/signup 我得到一个HttpNotFoundException我运行工匠路线并且存在路线注册。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

NotFoundHttpException异常是,百分之百的时候,Laravel无法以某种方式找到你的路线。所以,有些事情你需要确保工作正常:

1)检查您的VirtualHosts是否配置良好。尝试使用您网址中的public进行访问:

http://localhost/laravel-project/public/signup

我可以说那里出了问题,因为如果你真的配置了你的虚拟主机,那么你应该无法访问你的app文件夹,而这应该是你的家:

http://localhost/laravel-project/

然后你的注册路线必须在:

http://localhost/laravel-project/signup

因此,基本上您的虚拟主机应该将您的根指向公共文件夹,从而在您的网址中删除它。

2)检查您的.htaccess重写规则。您可以使用其中一个来访问您的路线吗?:

http://localhost/laravel-project/public/index.php/signup

http://localhost/laravel-project/index.php/signup

如果您的.htaccess文件不存在或者您没有安装或启用重写模块,它将起作用,但它们不应该,除非您希望它们以这种方式工作。但这也是我给你一个NotFoundHttpException的东西,因为你没有查询你的public/index.php文件,基本上是你的应用程序boostrapper。