Laravel — маршруты не работают

Когда я пытаюсь использовать маршрут, я получаю «объект не найден» и «ошибка 404».

Я использую свой сервер в manjaro / arch (локально в любом случае). Также я впервые использую Laravel.

Я использую Apache для моего сервера. Он работает так, как я могу загрузить страницу laravel с 127.0.0.1/path/to/public/. Я использовал этот же сервер для других проектов и не было никаких проблем.

Я даже попытался изменить корень документа на фактический корень, то есть теперь я могу просто запустить, используя 127.0.0.1

Я изменил Allow override на All в моем httpd.conf, что, похоже, решает эту проблему для 99% людей. Я удостоверился, что перезапустил сервер после .conf правок.

мой web.php: (этот первый маршрут — единственный код, который я написал для этого проекта)

Route::get('/hello',function(){
return 'Hello World';
});

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

вывод из команды php artisan route:list

+--------+----------+----------+------+---------+--------------+
| Domain | Method   | URI      | Name | Action  | Middleware   |
+--------+----------+----------+------+---------+--------------+
|        | GET|HEAD | /        |      | Closure | web          |
|        | GET|HEAD | api/user |      | Closure | api,auth:api |
|        | GET|HEAD | hello    |      | Closure | web          |
+--------+----------+----------+------+---------+--------------+

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

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

RewriteEngine On

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

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

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

Это не проблема Ларавала, я думаю, что я бегу php artisan serve Я могу использовать маршрут найти, то есть 127.0.0.1:8000/hello напечатает привет мир в моем браузере.

0

Решение

Пришлось добавить:

LoadModule rewrite_module modules/mod_rewrite.so

в конец моего файла httpd.conf

[редактировать]

Также пришлось дать разрешение на некоторые файлы по некоторым причинам. (лог-файлы).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]