Apache - 路径组件上缺少权限

时间:2014-08-07 18:54:40

标签: apache .htaccess permissions chmod chown

虽然路径正确,但我的网站图片都没有加载。在我的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布尔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]

6 个答案:

答案 0 :(得分:16)

我终于找到了!感谢Justin lurman将.htaccess文件排除在外。这让我发现Wordpress没有权利再编辑我的.htaccess文件了。 这更奇怪,因为我100%确定权限是好的(如果你问我,甚至太宽容了)。

所以我调查了SElinux,因为我知道它有时可以在我身上耍花招而且我是对的。 发出以下命令解决了它:

chcon -R --type=httpd_sys_rw_content_t wp-content/

我希望能帮助别人:)

答案 1 :(得分:13)

在我的情况下,包含文件夹没有+ x权限,将其更改为755就可以了。

答案 2 :(得分:3)

或者你可以运行

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

在这些文件夹中......

答案 3 :(得分:0)

setsebool -P httpd_enable_homedirs 1

chcon -R -t httpd_sys_content_t / home / user / public_html

答案 4 :(得分:0)

对我有用的是,路径中的所有组件目录都需要对所有组件具有执行权限

因此,如果网站的路径是/ home / user1 / public_html / docroot

chmod +x /home/user1/
chmod +x /home/user1/public_html/
chmod +x /home/user1/public_html/docroot/

答案 5 :(得分:0)

在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的值更改为您的计算机用户名。现在重新启动PHP服务。