В данном случае от «404 ошибки — файл не найден» нас отделяет целая пропасть. Файл найден, но сервер его не спешит отдавать пользователю, т.к. считает, что у пользователя не достаточно на это прав.
Если сервер предотвратил несанкционированный доступ — замечательно. Но раз вы читаете эту статью, то все наоборот :)
Самая типичная ситуация — это не верно установленные групповые права доступа к файлу. Вся «статика» , отдаваемая сервером, должна иметь следующие права:
644 — для файлов и 755 — для каталогов, в которых эти файлы лежат.
Для каталогов важен флаг «исполняемый», а для файлов флаг, разрешающий чтение. Т.е. минимально необходимые права — это
444 — для файлов и 555 — для каталогов.
Устанавливаем права командой chown
В wordpress, к примеру, файлы загрузок находятся в /wp-content/uploads. Далее файлы, обычно, дробятся по годам и месяцам. Как бы сразу нам выдать нужные права на все папки, а потом на все файлы?
Здесь нам поможет консольная UNIX команда find:
1 2 |
find ./wp-content/uploads -type d -exec chmod 755 {} \; find ./wp-content/uploads -type f -exec chmod 644 {} \; |