У меня есть проект Laravel 5.7, и я не могу понять, почему я получаю 404 ошибку во вложенных папках в общедоступном каталоге.
Структура каталога
Пример маршрутов, которые отлично работают:
- localhost / images / image.png
- localhost / css / main.css
Однако, когда я пытаюсь запросить файл глубже, чем первый подкаталог, я получаю 404. Например:
- localhost / pugins / common / common.min.js
файл находится в public / pugins / common / common.min.js
- localhost / icons / weather-icons / css / weather-icons.min.css
файл, расположенный в public / icons / weather-icons / css / weather-icons.min.css
Что-нибудь после localhost / FOLDER / получает ошибку 404,даже если он существует.
Любые идеи почему?
ЭтоПо умолчанию .htaccess
file:
<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>
Я только что заметил, что первый уровень подкаталогов публичной папки выдает ошибку 403 (Запрещено) при попытке вывести этот каталог.Пример:
- localhost / js => 403, запрещено
- localhost / js / dashboard / intro-inde.js => 404, ненайдено
- localhost / js / script.js => 200, работает нормально
Каждый файл и каталог существует в приведенных выше примерах, и существуетНет проблем с разрешениями.Я думаю, что это как-то связано с .htaccess, но я понятия не имею, как это работает>.>