我正在阅读Laravel4快速入门教程
我在Windows中的Wamp服务器上安装了laravel4。我能够访问主页,上面写着“你已到达”。
稍后在router.php中我根据快速入门指南只添加了一个路由器,但对于某些人我收到此错误。
错误:
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',
答案 0 :(得分:0)
不要在路线前加斜杠。使用users
而不是/users
。
答案 1 :(得分:0)
我今天遇到了完全相同的问题,需要一段时间来解决它,但这是我如何做到的。在这个例子中,我创建了一个WAMP Apache Alias' lava',所以http://localhost/lava/
带我去了#34;你已经到了"页面成功。然而,即使尝试一个真正基本的路线:
Route::get('test', function()
{
return "hello?!";
});
会给我NotFoundHttpException
错误和你一样。为了让路由工作,我做到了这一点:
修改app/config/app.php
并设置网址以匹配您的别名,所以在我的情况下:
'url' => 'http://localhost/lava/',
修改public\.htaccess
- 您可以使用QuickStart推荐的那个,但您需要在2个位置更改它:
```
<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重写。