Apache - отсутствуют права доступа к компоненту пути
Ни один из изображений моего сайта не загружен, хотя пути верны. В моих журналах Apache у меня много:
(13)Permission denied: [client 87.231.108.18:57108] AH00035: access to
my/file/path/some-photo.jpg denied because search permissions are missing
on a component of the path
Внутри httpd.conf
файла:
User apache
Group apache
Всю дорогу до каталога моего веб-сайта папки принадлежат apache:apache
, а chmod
установлен на 774
полностью вниз.
SELinux boolean httpd_can_network_connect
был On
.
Я использую файл .htaccess
для перенаправления моего доменного имени в соответствующий каталог. Я подозреваю, что это может вызвать проблему, но... это не что иное, как чувство кишки.
Мне нужна помощь, любое предложение приветствуется.
Большое спасибо!
ИЗМЕНИТЬ
Содержимое файла .htaccess:
RewriteEngine On
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} www\.domain\.com
RewriteRule (.*) /domain/$1 [L]
Ответы
Ответ 1
Я наконец нашел его! Спасибо тон Justin lurman за то, что он выложил файл .htaccess. Это заставило меня понять, что Wordpress не имеет права редактировать мой файл .htaccess.
Это было еще более странно, потому что я был на 100% уверен, что разрешения были хорошими (даже слишком разрешительными, если вы спросите меня).
Итак, я заглянул в SElinux, так как знаю, что время от времени он может играть на меня, и я был прав.
Выпустив следующую команду, он решил:
chcon -R --type=httpd_sys_rw_content_t wp-content/
Я надеюсь, что это поможет кому-то еще:)
Ответ 2
В моем случае содержащая папка не имела разрешения + x, изменив ее на 755, сделал трюк.
Ответ 3
Или вы можете запустить
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
В этих папках...
Ответ 4
setsebool -P httpd_enable_homedirs 1
chcon -R -t httpd_sys_content_t/home/user/public_html
Ответ 5
Что сработало для меня, так это то, что для всех каталогов компонентов в пути необходимы разрешения на выполнение для всех
поэтому, если путь к сайту -/home/user1/public_html/docroot
chmod +x /home/user1/
chmod +x /home/user1/public_html/
chmod +x /home/user1/public_html/docroot/
Ответ 6
В macOS это может быть вызвано проблемой с правами доступа группы пользователей.
Перейдите в файл httpd.conf
(расположенный по адресу /usr/local/etc/httpd
если Apache установлен Homebrew). Найдите <IfModule unixd_module>
и измените значение перед User
на имя User
вашего компьютера (с которым вы <IfModule unixd_module>
). Перезапустите Apache.
Это необходимо сделать и для PHP-FMP, если вы используете это с Apache. Найдите файл php-fpm.conf
(обычно находится по адресу /usr/local/etc/php/7.x/
и найдите определения пула:
раскомментируйте include=/usr/local/etc/php/7.x/php-fpm.d/*.conf
если прокомментируйте и сохраните файл. Теперь откройте недавно откомментированный файл и найдите user =
и измените значение user на имя вашего компьютера. Теперь перезапустите сервис PHP.