【问题标题】:Can't access files in a subdirectory using Apache server无法使用 Apache 服务器访问子目录中的文件
【发布时间】:2012-01-18 01:20:27
【问题描述】:

我的 Windows 7 机器上安装了 Apache 2.2.21 服务器。 我的站点已启动,/scripts 子目录中的脚本正在运行,但是当我尝试从/icons 加载图标时,我收到 403 禁止错误。 我已经将此添加到我的httpd.conf 文件中:

<Directory "c:/wamp/www/icons/">
    Options Indexes FollowSymLinks
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

仍然没有效果。所以问题是:如何访问我的/icons 子文件夹中的文件?

P.S.:使用 /images 子目录效果很好,但问题仍然存在。

【问题讨论】:

    标签: apache2 wamp wampserver httpd.conf


    【解决方案1】:

    我发现/icons/ 被包含为其他目录的别名。对我来说,配置文件位于:

    C:\wamp\bin\apache\apache2.2.21\conf\extra\httpd-autoindex.conf
    

    我不得不注释掉这一行:

    Alias /icons/ "c:/Apache22/icons/"
    

    【讨论】:

      【解决方案2】:

      您是否检查了/icons 目录的 Windows 权限,并确保 Apache 用户可以读取该目录?图片中可能有.htaccess 文件吗?

      编辑:好的,所以这不是权限。我的下一个猜测是:你上面的配置说“每个人都被禁止访问,除非他们来自 127.0.0.1”。但是您使用的是 Windows 7。Windows 7 试图提供帮助和现代化 - 并且经常尝试首先通过 IPv6 访问。因此,您可能显示为来自 ::1,这可能与 127.0.0.1 不匹配。尝试关闭 IPv6 或添加 Allow from ::1 指令。

      【讨论】:

      • 是的,Windows 权限都是一样的。
      • 我试过了 - 没有运气。 httpd.conf 看起来对我的更改完全没有反应。同样,像 /scripts 和 /images 这样的子文件夹是可用的,所以我认为它应该是它们的列表。
      【解决方案3】:

      好的,如果您的 httpd.conf 没有执行任何操作,您应该重新启动 apache。对文档所做的任何更改都必须重新启动,这样 Apache 才能“刷新”。

      <Directory "c:/wamp/www/icons/">
           Options Indexes FollowSymLinks
           Order Deny,Allow
           Deny from all
           Allow from 127.0.0.1
      </Directory>
      
      • 所以上面是你的代码。它基本上在第 4 行中说 Apache 应该拒绝来自所有传入连接到 /icons/文件夹的连接。

      • 同样在第 5 行,它说只允许来自 127.0.0.1 或 localhost 的传入连接。所以基本上服务器可以访问它!

      • 如果更改它不起作用,您应该查看 .htaccess。另一种选择是从有效的文件夹中复制代码并粘贴它,然后从 EX 更改粘贴: “C:/WAMP/www/images/”到“C:/WAMP/www/icons”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-21
        • 1970-01-01
        • 1970-01-01
        • 2018-03-13
        • 2021-04-30
        • 2014-07-26
        • 1970-01-01
        • 2014-01-16
        相关资源
        最近更新 更多