Ошибка в FTP сервере.
Значит, есть у меня хостинг на рег.ру, а на моем сайте имеется база данных со всеми данными пользователей (хранится на FTP и mySQL). Когда пользователь нажимает кнопку "Загрузить" или "Сохранить" статистику аккаунта, у него ничего не получается, а в логи пишет эту ошибку:
server: мойсайт.ру, request: "POST /database/downloadGJLevel22.php HTTP/1.1", upstream: "http://127.0.0.1:8080/database/downloadGJLevel22.php", host: "мойсайт.ру"
[Thu Nov 16 09:12:20.817931 2023] [autoindex:error] [pid 5234:tid 140520919656192] [client 178.49.4.229:60686] AH01276: Cannot serve directory /var/www/u2206123/data/www/мойсайт.ру/database/data/accounts/: No matching DirectoryIndex (index.php,index.html,hosting_static_lostindex/index.html,index.php) found, and server-generated directory index forbidden by Options directive
Вся статистика аккаунта, которую надо загрузить, находится по этому пути: /database/data/accounts/
И именно из этой папки, не загружается и не сохраняется туда статистика. Почему то в папке, которая находится по одному пути с ней (/database/data/levels/) работает корректно, а папка со статой аккаунтов не работает. Все правила выставлял на 777, и ноль результата. Папку пересоздавал, ноль результата. Даже откат, сервера скачивал, который на тот момент работал, и ничего... Помогите пожалуйста!
Привет, Ваша проблема касается конфигурации веб-сервера (в данном случае, Apache), а именно того, как обрабатываются запросы к директории, в которой находится ваш файл downloadGJLevel22.php.
Ошибка Cannot serve directory ... No matching DirectoryIndex found обычно указывает на то, что в директории нет файла, который сервер может использовать как индексный файл (например, index.php или index.html). Также, возможно, в настройках сервера отключено автоматическое создание списка файлов в директории, если не найден индексный файл.
Чтобы решить эту проблему, вы можете предпринять следующие шаги:
Добавьте индексный файл:
Убедитесь, что в директории /var/www/u2206123/data/www/мойсайт.ру/database/data/accounts/ есть индексный файл, например, index.php или index.html. Если файла нет, создайте его.
Настройте сервер на разрешение автоматического индексирования:
В вашем виртуальном хосте или конфигурационном файле Apache убедитесь, что есть следующая директива:
Options +Indexes
Это разрешает серверу автоматически индексировать директории, если не найден индексный файл.
Пример конфигурации для Apache:
<Directory "/var/www/u2206123/data/www/мойсайт.ру/database/data/accounts/">
Options +Indexes
AllowOverride All
Require all granted
</Directory>
Перезапустите веб-сервер:
После внесения изменений в конфигурацию Apache, перезапустите веб-сервер, чтобы изменения вступили в силу.
sudo service apache2 restart
После внесения этих изменений, сервер должен правильно обрабатывать запросы к директории /var/www/u2206123/data/www/мойсайт.ру/database/data/accounts/. Если проблема не решена, вам, возможно, потребуется дополнительная диагностика или просмотр настроек сервера и ваших файлов.