Когда я пытаюсь использовать маршрут, я получаю «объект не найден» и «ошибка 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 напечатает привет мир в моем браузере.
Пришлось добавить:
LoadModule rewrite_module modules/mod_rewrite.so
в конец моего файла httpd.conf
[редактировать]Также пришлось дать разрешение на некоторые файлы по некоторым причинам. (лог-файлы).
Других решений пока нет …