Wamp Server中的Laravel4 NotFoundHttpException

时间:2013-11-19 14:00:15

标签: laravel-4 wampserver

我正在阅读Laravel4快速入门教程

Laravel4 quick start

我在Windows中的Wamp服务器上安装了laravel4。我能够访问主页,上面写着“你已到达”。

稍后在router.php中我根据快速入门指南只添加了一个路由器,但对于某些人我收到此错误。

enter image description here

错误:

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException


Router.php

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

Route::get('/users', function() //this one i hav added
{
    die;
    return 'Users!';
});

的config.php

 'debug' => true,



'url' => 'http://localhost:99',


'timezone' => 'UTC',


'locale' => 'en',

3 个答案:

答案 0 :(得分:0)

不要在路线前加斜杠。使用users而不是/users

答案 1 :(得分:0)

我今天遇到了完全相同的问题,需要一段时间来解决它,但这是我如何做到的。在这个例子中,我创建了一个WAMP Apache Alias' lava',所以http://localhost/lava/带我去了#34;你已经到了"页面成功。然而,即使尝试一个真正基本的路线:

Route::get('test', function()
{
    return "hello?!";
});

会给我NotFoundHttpException错误和你一样。为了让路由工作,我做到了这一点:

  1. 确保启用mod_rewrite(WAMP默认执行,但仔细检查)
  2. 确保启用open_ssl(通过WAMP托盘图标轻松完成)
  3. 修改app/config/app.php并设置网址以匹配您的别名,所以在我的情况下:

    'url' => 'http://localhost/lava/',

  4. 修改public\.htaccess - 您可以使用QuickStart推荐的那个,但您需要在2个位置更改它:

  5. ```

    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews
        </IfModule>
    
        RewriteEngine On
    
        RewriteBase /lava/
    
        # Redirect Trailing Slashes...
        RewriteRule ^(.*)/$ /lava/$1 [L,R=301]
    
        # Handle Front Controller...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    
    </IfModule>
    

    ```

    在上面我添加了与别名匹配的RewriteBase行,并在RewriteRule regexp中添加了别名。

    以上对我来说工作正常(Windows 7,WAMP)虽然.htaccess文件在部署到不使用相同别名的实时服务器时没用。

答案 2 :(得分:-1)

尝试去index.php / users。如果加载,则需要在htaccess文件中设置url重写。