将目录添加到 Apache 服务器

Posted

技术标签:

【中文标题】将目录添加到 Apache 服务器【英文标题】:Adding a directory to Apache Server 【发布时间】:2014-03-08 15:35:04 【问题描述】:

我有一个运行 XAMPP/Apache 的 Windows XP 系统。我已经在外部硬盘驱动器上有文件,我想在不将它们移动到与 Apache 安装相同的驱动器的情况下提供这些文件。

这是我迄今为止尝试过的:

在主 HTTPD.conf 文件中:

别名 /client_files D:/clients/files

选项索引 FollowSymLinks 多视图

允许覆盖所有

   Order Allow,Deny
        Allow from all

目录>

但我得到的唯一结果是:

禁止访问!

您无权访问请求的对象。服务器要么读保护要么不可读。

如果您认为这是服务器错误,请联系网站管理员。

错误 403

本地主机

Apache/2.4.7 (Win32) OpenSSL/1.0.1e php/5.5.6

我也尝试添加到 HTTPD-VHOSTS.conf 文件:

服务器名称 client_files

ServerAlias client_files

DocumentRoot "D:/clients/files"

还有:

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot "D:/clients/files"

服务器名称 client_files

ServerAlias client_files

ErrorLog "logs/dummy-host.example.com-error.log"

CustomLog "logs/dummy-host.example.com-access.log" 常见

虚拟主机>

但这些都不起作用。到底如何才能将另一个目录添加到 Apache 安装并通过“localhost/client_files”之类的方式访问它?

有什么建议吗?

更新: [已解决]

根据下面@Pedro Nunes 的回答,我现在有我的 httpd.conf 文件,文件末尾有此部分,其中包括 Pedro 回答的“要求所有已授予”行,现在解决了问题:

别名 /client_files D:/clients/files

要求全部授予

选项索引 FollowSymLinks 多视图

允许覆盖所有

   Order Allow,Deny
        Allow from all

目录>

【问题讨论】:

试试AllowOverride None mm 也尝试将服务器名称添加到 windows 主机文件(指向 127.0.0.1) 感谢您的建议,但没有奏效。我将“AllowOverride all”更改为“AllowOverride none”并重新启动 Apache,但它仍然无法正常工作。它仍然带来了 403 错误。 【参考方案1】:

本指南准确地解释了我是如何在我的 windows xampp 机器上设置它的。 http://www.delanomaloney.com/2013/07/10/how-to-set-up-virtual-hosts-using-xampp/ 请记住提供绝对的文档根路径以及将 127.0.0.1 servername 行添加到 C:/Windows/System32/drivers/etc/hosts 中的主机

【讨论】:

【参考方案2】:

您是否在目录部分尝试过Require all granted? 这将授予对所有请求的访问权限。

【讨论】:

优秀!这似乎已经做到了。我按照您的建议在“目录”部分下添加了“需要所有授权”行,重新启动 Apache,现在它似乎按预期工作。非常感谢。

以上是关于将目录添加到 Apache 服务器的主要内容,如果未能解决你的问题,请参考以下文章

将 SSL 添加到 Apache 服务器

在centos中 将apache httpd 服务加入系统服务

将域名关联到 Apache 中的目录

将 www-data 添加到某个组后,仍然无法让 apache 服务器访问数据库

Apache - 如何将前缀映射到不同的目录

如何添加Apache服务器用户验证AllowOverride AuthConfig