我安装了 Apache2 和 PHP5。我DocumentRoot
的是/var/www/。所有.php
和.html
文件都以表格/
及其子目录的形式提供。但是,当我请求.png
图像时,我会Forbidden
注意到。
我想/static/
为静态内容分派一个特定的目录。
我应该如何编辑 Apache 的配置文件才能查看静态内容/static/
?
我安装了 Apache2 和 PHP5。我DocumentRoot
的是/var/www/。所有.php
和.html
文件都以表格/
及其子目录的形式提供。但是,当我请求.png
图像时,我会Forbidden
注意到。
我想/static/
为静态内容分派一个特定的目录。
我应该如何编辑 Apache 的配置文件才能查看静态内容/static/
?
我不确定我是否理解问题,但您可以:
如果您想提供不是来自 /var/www/static 的静态文件,请使用:
如果您的静态目录已经在 /var/www/static 并且您收到禁止错误 - 确保这些文件对于运行 apache 的用户是可读的:
应该解决可读性问题。取决于分发用户名可能会有所不同。通过运行ps faux|grep apache检查它
Apache 允许在每个目录的基础上指定 php.ini 设置,因此您应该能够在 httpd.conf 文件中使用类似这样的内容禁用用户目录的 php:
您也可以在“.htaccess”中设置这些
为了使文件系统上目录的内容成为“webservable”,您必须有一个
Directory
封装它的指令,并且您的网络服务器执行的用户必须可以访问这些文件。大多数默认安装都有一个Directory
设置,所有内容都属于它(即/var/www/)。这不是强制性的,您可以从其他目录下提供内容,只要您
Directory
为它定义了另一个部分。您可以采用多个这样的目录,并使其看起来像一棵带有Alias
指令的快乐树。您还可以禁止提供其他“webservable”树的某些部分,例如防止包含包含 DB 连接字符串、密码、用户名等的文件。
相同的规则适用于脚本,只是带有
ScriptAlias
指令。