0

我有一个非常基本的设置,带有一个新的 Fuel 结帐。

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。我错过了什么?

4

1 回答 1

1

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

从您尝试访问的 URL 中,如下配置就足够了:

<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

如果上述方法不起作用,您可能会在文件中看到一条通知,上面写着:

# 注意:如果你得到一个 404 游戏,其中包含以下注释掉的行的组合

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

于 2013-04-01T22:43:00.863 回答