403 запрещенных ошибок, обслуживаемых только для некоторых пользователей в некотором контенте

У меня VPS под управлением Debian 7 с VirtualMin 4.12gpl и очень ванильной конфигурацией Apache 2.2.22, PHP 5.4.35 и MySQL 5.5.40 с WordPress 4.01.

У меня возникла очень странная проблема, когда определенные ресурсы (например, изображения и таблицы стилей) генерируют ошибки 403 для одних пользователей, а не для других.

Например, некоторые пользователи получают 403 при попытке загрузить эту таблицу стилей: http://lunchtime.org.uk/wp-content/themes/GLA5/style.css (Я не!)

Некоторые пользователи получают 403 при попытке загрузить это изображение: http://lunchtime.org.uk/wp-content/themes/GLA5/img/podcast.png (Я делаю!)

Я попробовал несколько вещей:

  • Изменение разрешений не имеет никакого эффекта. Я даже установил его на 777, и оскорбительные файлы все равно не будут загружаться. Кроме того, я могу видеть и загружать файлы через FTP.
  • Я думал, что mod_security может быть проблемой, но не установлен
  • Файл .htaccess выглядит нормально для установки WordPress.
  • Отключение плагинов, связанных с кэшированием \ постоянными ссылками, и очистка собственного кэша ничего не делают
  • Использование кнопки «Fix владелец файла и разрешения» в VirtualMin ничего не делает.

Я также попытался запустить (в качестве примера)

chown -R www-data:www-data podcast.png

вручную, но это не имеет никакого эффекта.

Возможно, стоит упомянуть, что я настроил один и тот же сайт на двух других VPS, таким же образом, и он работал просто отлично. Я перенес весь контент на этот сервер в понедельник, просто скопировав все файлы по FTP и выполнив экспорт / импорт базы данных в phpMyAdmin.

Вот файл .htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Я не буду публиковать здесь весь журнал ошибок apache, но каждая ошибка выглядит так:

[Fri Nov 21 00:09:21 2014] [crit] [client 141.101.98.168] (13)Permission denied: /home/lunchtime/public_html/wp-content/themes/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

Спасибо.

1

Решение

нвм разобрался

…Я ребенок, я ребенок!

Недавнее обновление apache изменило синтаксис директивы FilterProvider. Как выяснилось, используемая мной версия стандартного файла HTML5 .htaccess использовала старый синтаксис.

Если вы столкнулись с этой проблемой, откройте файл .htaccess и выполните поиск

FilterProvider

В соответствии с этот комментарий Github (чьи инструкции я следовал), вы должны изменить любую строку, которая выглядит следующим образом:

FilterProvider COMPRESS DEFLATE resp=Content-Type $text/html

В это:

FilterProvider COMPRESS DEFLATE "%{CONTENT_TYPE} = 'text/html'"
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]