基本路由在 Laravel 中生成 404
Posted
技术标签:
【中文标题】基本路由在 Laravel 中生成 404【英文标题】:Basic routing generates a 404 in Laravel 【发布时间】:2012-09-14 22:37:12 【问题描述】:我正在尝试使用 Laravel 框架来构建我的应用程序。但是,我遇到了路由问题。
路线
Route::get('ecatalogs',
array('as' => 'ecatalog_latest', 'uses' => 'ecatalogs@latest'));
控制器
class Catalogs_Controller extends Base_Controller
public $restful = true;
public function get_latest()
return "wohoooooo!";
我的 localhost 文件存储在 /Users/ariefbayu/Sites/
中,我的 Laravel 应用程序存储在 /Users/ariefbayu/Sites/ecatalog/
中。在这个目录中,我有一个 info.php
文件来确认我的路径设置是否正常工作,并且它们确实有效。但是,当我导航到 http://localhost/ecatalog/public/index.php/ecatalogs
时,它总是返回 404 错误。我知道这是基本的,但我不知道为什么这不起作用。
仅供参考,我使用的是 MAMP 服务器,并且我已将所有源文件的访问权限设置为 777
以测试这是否是权限问题。
【问题讨论】:
【参考方案1】:Route::get('ecatalogs', array('as'=>'ecatalog_latest', 'uses'=>'ecatalogs@latest'));
注意ecatalogs@latest
指针。这告诉 Laravel 在 Ecatalog_Controller
上调用 get_latest()
方法。
这是你的控制器Catalogs_Controller
和函数get_latest()
。你需要用这个来打电话给get_latest()
:
Route::get('ecatalogs', array('as'=>'ecatalog_latest', 'uses'=>'catalogs@latest'));
【讨论】:
【参考方案2】:您指定要在控制器ecatalogs
中调用“最新”操作,但您的控制器实际上称为catalogs
。将您的 uses 参数改为 catalogs@latest
(或重命名文件和类)。
【讨论】:
以上是关于基本路由在 Laravel 中生成 404的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 重定向到一个路由,但是 apache 给出 404 错误