Как правильно настроить Route в Laravel проекте?

194
20 ноября 2017, 20:56

При обращении на http://localhost/about я получаю 404 не найдено , знаком с данной ошибкой но не пойму каких настроек у меня не хватает ?

При попытке перехода в папку с routes > web.php в браузере по пути http://localhost/conlineltd/routes/web.php я получаю ошибку:

Fatal error: Uncaught Error: Class 'Illuminate\Support\Facades\Route' not found

Моя папка routes:

use Illuminate\Support\Facades\Route;
Route::post('/login',function(){
return view('login');
});
Route::post('/register',function(){
return view('register');
});
Route::post('/contact',function(){
return view('contact');
});
Route::get('/about',function(){
return view('about');
});
Route::get('/home', ['as' => 'home' , function(){
return view('index');
}]);

Если я убераю сам импорт то получаю Undefined на Route::get и так далее .. При попытке перехода в класс метода не могу найти сам метод , при переходе в Route который не содержит методов запроса , Route наследует от Facade , при переходе на Facade не нахожу методов запроса таких как get,post и так далее, с другой стороны при импорте данного use Illuminate\Support\Facades\Route; Php Shtorm перестаёт ругатся на Undefined, как так ? Если в самом импортируемом коде я не могу найти get,post etc ..

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

Answer 1

Вы и не должны настраивать Router. Laravel изначально должен спокойно запускать страницы. Проблема может быть в том, что если вы делали проект в openServer, либо даже на локалке, то вы были обязаны создать отдельную папку под проект.Во вторых не трогайте и не удаляйте импорты фреймворка, только в крайних случаях(не в вашем), и не открывайте файлы в браузере что за бред???Про Mvc паттерн советую почитать ,вы получаете ошибки из за того, что файл web.php и прочие подключения не работают как самостоятельные файлы, они взаимодействуют друг с другом, ваша задача проверять работу только в папке public.Вот пример: О боже у меня такая же ошибка! Но переходим в public:И все работает.В третьих если же вы не хотите видеть открытую папку с проектом в начале , и каждый раз не открывать папку public то создаете файл .htacess и пишете следующее:

Options +SymLinksIfOwnerMatch
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

И еще раз советую изучить MVC паттерн, ибо не понимая как он работает, подобных глупых вопросов будет много.

Но основная ошибка говорит, что Laravel не может открыть лог для записи. Поэтому попробуй :

php artisan cache:clear 
chmod -R 777 app/storage # для laravel < 5.4
chmod -R 777 storage/ # для laravel >= 5.4
composer dump-autoload
READ ALSO
Подскажите как правильно написать SELECT

Подскажите как правильно написать SELECT

Здравствуйте, подскажите как правильно записать цикл для создания массива значений meta_value после выборкиПытаюсь так:

205
Выбрать строки из таблицы средствами checkbox

Выбрать строки из таблицы средствами checkbox

Нужно сделать удаление строк, выбранный через чекбоксПри исполнении файла db_delete выдно, что данные от чекбокса не получаются

249
Как правильно залить код сайта для вопроса?

Как правильно залить код сайта для вопроса?

Как правильно залить код сайта для того, чтобы задать вопрос на Stack Overflow? У страницы много PHP-элементов, которые импортируются через inqlude, поэтому...

153