我已经使用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的新观点而遗漏了一些东西。寻求你的帮助。
答案 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>