【发布时间】:2016-07-21 18:58:09
【问题描述】:
解决了!原来我也缺少 /var 文件夹的权限...谢谢大家!
我有一个在/var/www/html 运行的网站。
此文件夹的所有者是用户 www-data 和组 www-data。 Apache 在用户 www-data 和组 www-data 下运行。
包括/var/www下的所有目录、文件和子目录的权限设置在775。
/etc/apache2/apache2.conf中的目录配置如下:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
SELinux 未激活。
我的.htaccess 文件如下所示:
RewriteEngine On
RewriteRule ^article/(.+)/(.+)\.html index.php?page=article&id=$1
RewriteRule ^([^/]+)\.html index.php?page=$1
RewriteCond %{HTTP_HOST} ^www.tripeala.com$ [NC]
RewriteRule ^(.*)$ https://tripeala.com/$1 [R=301,L]
尽管有此配置,但我在尝试进入网站时收到了一条禁止消息。
在 apache 错误日志中,我收到一条错误消息,上面写着 'access to /index.php denied (filesystem path '/var/www') because search permissions are missing on a component of the path'
【问题讨论】:
-
Marcos,您能否通过禁用 .htaccess 来访问根目录中的静态文件(如 test.html)?如果 SeLinux 被禁用并且文件夹权限如您所说,那么它应该是 apache conf 或以某种方式重写问题。实际上,即使您的裸域规则也不起作用 - 您应该为此添加
为 AllowOverride All 。有意思,好想去看看服务器,真的很好奇。 -
错误明确指出至少一个构成文档根目录的权限不是 0775(它们不应该是 0775,而是 /var、/var/www 等等www-data 应该是可读和可执行的)
标签: apache ubuntu server digital-ocean