我的路由返回 404,我该如何修复它们?

我刚刚开始学习Laravel框架,但我遇到了路由问题。

唯一有效的路由是开箱即用地附加到Laravel的默认家庭路由。

我在Windows上使用WAMP,它使用PHP 5.4.3和Apache 2.2.22,我还启用了mod_rewrite,并从应用程序.php配置文件中删除了“index.php”以留下空字符串。

我创建了一个名为 User 的新控制器:

class User_Controller extends Base_Controller {

    public $restful = true;

    public function get_index() 
    {
        return View::make('user.index');
    }
}

我在应用程序/视图/用户/中创建了一个名为索引的视图文件.php其中包含一些基本的HTML代码,并且在路由中.php我添加了以下内容:

Route::get('/', function () {
    return View::make('home.index');
});

Route::get('user', function () {
    return View::make('user.index');
});

在我的Web浏览器中访问根()时,第一个路由工作正常,但是当我尝试使用第二个路由时,我收到404未找到错误。为什么会发生这种情况?http://localhost/mysite/publichttp://localhost/mysite/public/user


答案 1

在我的 Ubuntu LAMP 安装中,我通过以下 2 项更改解决了此问题。

  1. 在 apache 服务器上启用mod_rewrite:。sudo a2enmod rewrite
  2. 编辑 /etc/apache2/apache2.conf,更改 /var/www 目录(这是我的主文档根目录)的 “AllowOverride” 指令:AllowOverride All

然后重新启动 Apache 服务器:service apache2 restart


答案 2

使用WAP单击->->->并选中。wamp iconapacheapache modulesscrollrewrite_module

重新启动装入模块rewrite_module

注意:启用“rewrite_module”后,服务器应用程序会自动为您重新启动


推荐