没有我的网站图像加载,虽然路径是正确的。在我的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
Within httpd.conf
file:
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]
我终于找到了!非常感谢Justin lurman指出。htaccess文件。这让我明白Wordpress没有权利再编辑我的。htaccess文件了。更奇怪的是,因为我100%肯定权限是好的(如果你问我的话,我甚至认为权限太宽松了)。
所以我研究了SElinux,因为我知道它有时会捉弄我,我是对的。发出以下命令解决了这个问题:
chcon -R --type=httpd_sys_rw_content_t wp-content/
我希望这对其他人有帮助:)
在我的例子中,包含文件夹没有+x权限,将其更改为755就可以了。
对我来说有效的是,路径中的所有组件目录都需要所有
的执行权限所以如果网站的路径是/home/user1/public_html/doroot
chmod +x /home/user1/
chmod +x /home/user1/public_html/
chmod +x /home/user1/public_html/docroot/
或者运行
find . -type d -exec chmod 755 {} ;
find . -type f -exec chmod 644 {} ;
setsebool -P httpd_enable_homedirs 1
chcon -R -t httpd_sys_content_t /home/user/public_html
在macOS上可能是由用户组权限问题引起的。
转到httpd.conf
文件(如果Apache是由Homebrew安装的,则位于/usr/local/etc/httpd
)。找到<IfModule unixd_module>
并将User
前面的值更改为您的计算机用户名(您登录的)。重新启动Apache .
如果在Apache中使用PHP-FMP,也需要这样做。查找php-fpm.conf
文件(通常位于/usr/local/etc/php/7.x/
)并查找池定义:
取消注释include=/usr/local/etc/php/7.x/php-fpm.d/*.conf
,如果注释并保存文件。现在打开最近未注释的文件,找到user =
,并将user的值更改为您的计算机用户名。
只需一个命令:
sudo setsebool -P httpd_enable_homedirs 1