Laravel控制器未发现错误

时间:2015-07-20 12:00:31

标签: laravel

我已经使用composer安装了 Laravel 4.2.11 ,并创建了一个别名。目前正在使用Wamp服务器。

我在" app \ controllers"下创建了名为UserController.php的控制器。位置并编辑了" app"下的routes.php。我在routes.php中编写了以下代码片段:

Route::resource('User','UserController');

但是,当我想通过键入http://localhost/laraveldemo/User来访问该URL时,它会显示一条错误消息" Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException"。请注意,我还没有为此创建任何视图。

可能是因为我对Laravel的新观点而遗漏了一些东西。寻求你的帮助。

2 个答案:

答案 0 :(得分:2)

试试这个:

  

在你的Routes.php

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

网址:localhost / laraveldemo

.htaccess文件:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

请参阅get users.php文件。

答案 1 :(得分:1)

这是一个可能的原因(和解决方案)......

要使Laravel的URL编写器工作,您必须授予服务器重写URL的权限。

您可以通过访问Apache模块列表(打开Wamp服务器设置并将鼠标悬停在Apache上)并启用“rewrite_module”选项来执行此操作。

打开此选项后,重新启动服务器。如果这确实是问题,那么URL应该可以工作。

此外,只是一个提示......(也许只是我的偏好)...我会尽量保持您的URL不区分大小写。

Route::resource('user', 'UserController');

我希望这会让你感到高兴! Laravel是一个很棒的框架!

** 编辑:.htaccess文件的其他帮助

您还需要项目根目录中的.htaccess文件。

该文件的内容可以包括以下内容(我只是复制/粘贴当前活动项目的工作文件)

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

RewriteRule ^(.*)$ public/$1 [L]

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>