我安装了Apache2和PHP5。 我的DocumentRoot是/ var / www /。 所有的.php和.html文件都以/和其子目录的forms提供。 但是,当我要求,说, .png图像我得到了Forbidden通知。
我想为静态内容分派特定/static/目录。
我应该如何编辑Apache的configuration文件才能从/static/查看静态内容?
我不确定如果我了解问题,但您可以:
如果你想服务静态文件不是从/ var / www /静态使用:
Alias /static/ /somewhere/somewhere/dir/
如果您的静态目录已经在/ var / www / static中,并且出现禁止错误 – 请确保这些文件对于运行apache的用户是可读的:
chown www-data:www-data -R /var/www/static
应该修复可读性问题。 取决于分配用户名可能会有所不同 通过运行ps faux | grep apache来检查它
Apache允许在每个目录的基础上指定php.ini设置,所以你应该可以在你的httpd.conf文件中使用类似下面的方法禁用用户dirs的php:
<Directory / home / * / public_html> closuresphp_admin_flag引擎 </目录>
你也可以在“.htaccess”
为了使文件系统上的目录的内容成为'webservable',你必须有一个Directory指令来封装它,并且这些文件必须被你的web服务器执行的用户访问。 大多数默认安装有一个Directory设置和所有的内容下(即。/ var / www /)。
这不是强制性的,只要您为其定义了其他Directory部分,就可以从其他目录下面提供内容。 你可以像这样做多个目录,使它看起来像一个带有Alias指令的快乐树。
您也可以禁止为其他“webservable”树的某些部分提供服务,以防止包含包含数据库连接string,密码,用户名等的文件。
同样的规则适用于脚本,只要使用ScriptAlias指令。