Laravel 5.3无法找到登录页面

时间:2017-01-17 18:59:44

标签: php laravel routes laravel-5.3 controllers

我刚刚开始学习laravel,我一直在寻找这个答案。我正在按照教程一步一步地启动它,我让它运行欢迎屏幕,但如果我点击登录或注册它说该文件不存在。但是,如果我做了路线。

Route::get('/', function() {
    return view('auth/login');
});

找到该页面并显示它。

这是登录页面的链接。

<div class="panel panel-success">
            <div class="panel-heading">List of Game of Thrones Characters</div>

                @if(Auth::check())
                  <p>Success</p>
                @endif


        </div>
        <?php
             echo getcwd() . "\n";
        ?>

        @if(Auth::guest())
          <a href="/login" class="btn btn-info"> You need to login to see the list  >></a>
        @endif

在href标签中我尝试了/ auth / login,/ login,你可以尝试任何组合,无论如何都找不到文件。这是我试图让它发挥作用的路线。

Route::get('/login', function() {
   return view('auth/login');
}

任何人都可以解释为什么这不起作用?我到处寻找,这似乎是正确的方式来调用它。请记住,我刚刚开始使用模板。

1 个答案:

答案 0 :(得分:2)

您需要在网络服务器中设置Web服务器重写。

最简单的处理方法是在.htaccess目录中使用public/文件。这是Laravel 5.3的默认.htaccess文件:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

您还需要确保已启用mod_rewrite Apache模块。您可以通过运行这两个启用模块并重新启动Apache的命令来实现:

a2enmod rewrite
service apache2 restart