2017-01-17 12 views
0

Я только начинаю изучать laravel, и я искал все это для ответа. Я проделывал шаг за шагом, чтобы запустить его, и у меня он запускает экран приветствия, но если я нажму логин или зарегистрирую его, он говорит, что файл не существует. Однако, если я сделаю маршрут.Laravel 5.3 Не можете найти страницу для входа

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 тега Я попытался/аутентификации/Логин,/Логин, и любой комбо вы можете попробовать и это не будет найти файл, независимо от того, что. Вот маршрут, который я пытаюсь заставить работать.

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

Может кто-нибудь объяснить, почему это не работает? Я повсюду смотрел, и, похоже, это правильный способ назвать это. Помните, что я только что начал создавать шаблоны.

+0

Работает ли он, если вы меняете тег привязки на 'index.php/login'? Если да, то вам нужно настроить переписывание URL-адресов, которые переписывают все запросы на 'index.php'. – BrokenBinary

+0

Вы забыли добавить закрывающие фигурные скобки и точку с запятой: ');' – Paras

+0

Да, это работает! Как мне это сделать? –

ответ

2

Вам необходимо настроить перезагрузку веб-сервера на своем веб-сервере.

Самый простой способ справиться с этим - использовать файл .htaccess в каталоге public/. Этот файл по умолчанию .htaccess для Laravel 5.3:

<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> 

Вы также должны убедиться, что модуль Apache mod_rewrite включен. Вы можете сделать это, запустив эти две команды, которые активируют модуль и перезапустите Apache:

a2enmod rewrite 
service apache2 restart 
+0

Придется также перезаписать apache. спасибо –