FuelPHP routes.php不能正常工作

时间:2013-04-01 18:47:46

标签: php apache .htaccess url-routing fuelphp

我有一个非常基本的设置,新的燃料结账。

fuel/app/classes/controllers/auth.php

class Controller_Auth extends Controller
{
    public function action_login()
    {
        return View::forge('auth/login');
    }
}

fuel/app/views/auth/login.php

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>FuelPHP Framework</title>
    <?php echo Asset::css('bootstrap.css'); ?>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
    <style>
        #login-block {
            margin: auto;
            border: 1px solid #ddd;
            -webkit-border-radius: 4px;
            -moz-border-radius: 4px;
            border-radius: 4px;
            -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
            -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
            padding: 5px;
        }
    </style>
</head>
<body>
    <div id="content" class="container-fluid">
        <div id="login-block">
            <h1>Login</h1>
        </div>
    </div>
    <?php echo Asset::js('jquery.min.js'); ?>
    <?php echo Asset::js('bootstrap.js'); ?>
</body>
</html>

fuel/app/config/routes.php

return array(
    '_root_'        => 'settings/index',  // The default route
    '_404_'         => '404',    // The main 404 route
    'login'         => 'auth/login',
);

但是,访问http://localhost/tmp/public/login会得到404.我错过了什么?

1 个答案:

答案 0 :(得分:1)

假设您运行Apache,您的问题可能存在于配置错误的 .htaccess 文件中。

从您尝试访问的网址中,以下配置就足够了:

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

.htaccess 我正在与 index.php 位于同一目录中,并且通常默认为: / fuel /public/.htaccess

如果上述方法无效,您可能会在 file 上看到一条通知,上面写着:

#注意:如果您使用以下注释掉的行的组合获得404游戏

尝试摆弄它,直到你做对了。