7

我的设置目前看起来像这样

应用程序/控制器/register.php

class register_Controller extends Base_Controller
{
    public $restful = true;
    public function get_index()
    {
        return View::make('main.register');;
    }
}

路由.php

Route::controller(Controller::detect());
Route::any('/', function()
{
    return View::make('main.index');
});
Route::any('register',function()
{
    return View::make('register.index');
});

mydomain.com 有效。

mydomain.com/index 给出了 laravel 404

mydomain.com/register 给出标准 404

奇怪的是 mydomain.com/register 不应该给我一个 laravel 404 错误吗? 页面表明 WAMP 是原因,但我的设置是在运行 PHP5、Apache2 和 mySQL 的 Ubuntu VM 上。

4

4 回答 4

10

打开 mod_rewrite 后,尝试在 apache 配置中设置“AllowOverride All”,它为我修复了它。

于 2012-08-22T17:59:14.997 回答
5

正如 Akash 建议的那样,确保您的 mod_rewrite 已启用。在 Ubuntu 上,使用以下命令在 Apache 上启用 mod_rewrite:

sudo a2enmod rewrite

(您不必编辑 httpd.conf)
不要忘记重新启动 apache。

您可以使用 PHP 命令

phpinfo();

检查 mod_rewrite 是否正常工作。

于 2012-08-22T14:34:15.893 回答
3

确保在 Apache (httpd.conf) 中打开 mod_rewrite

取消注释以下行

LoadModule rewrite_module modules/mod_rewrite.so

并重新启动 httpd

于 2012-08-21T12:36:48.950 回答
2

此外,您应该在检测到控制器之前设置路由。

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

Route::any('register',function()
{
    return View::make('register.index');
});

Route::controller(Controller::detect());
于 2012-09-12T08:53:43.987 回答