Всякий раз, когда я пытаюсь использовать маршрут, я получаю «объект не найден» и «ошибка 404». Я использую свой сервер в Manjaro / Arch (локально в любом случае). Кроме того, я впервые использую Laravel.
Я использую Apache для своего сервера. Он работает так, как я могу загрузить страницу Laravel с 127.0.0.1/path/to/public/. Я использовал этот же сервер для других проектов, и у меня не было проблем.
Я даже пытался изменить корень документа на фактический корень, то есть теперь я могу просто запустить, используя 127.0.0.1
Я изменил параметр Разрешить переопределение на Все в моем httpd.conf, что, по-видимому, решает эту проблему для 99% людей. Я убедился, что перезапустил сервер после .conf правок.
my 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>
Это не проблема Laravel, я думаю, как будто я запускаю php artisan serve
Я могу использовать поиск маршрута, то есть 127.0.0.1:8000/hello напечатает привет мир в моем браузере.