【问题标题】:XAMPP: Accessing html pages in subdirectories of rootXAMPP:访问根目录中的 html 页面
【发布时间】:2017-06-21 15:57:21
【问题描述】:

这很可能是初学者的问题,但我似乎无法在任何地方找到解决方法,而且我发现处理它的几篇帖子都没有得到答复(例如 xampp in window 7 cannot access files in subfolder inside C:/xampp/htdocs)。

到目前为止,我有一个使用 XAMPP 的本地主机(必须将端口更改为 8080),位于自定义文档根目录中。我可以加载 index.html,但是当我单击指向子目录的链接时:

<li><a href="examples/test.html"></a></li>

我收到以下错误:

服务不可用!

由于以下原因,服务器暂时无法处理您的请求 维护停机时间或容量问题。请稍后再试。

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

错误 503

localhost Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30

即使我直接在浏览器中输入地址(http://localhost:8080/examples/test.html)也不起作用。

有人可以指出这是否应该工作吗?或者如果我应该在 apache 配置文件中指定一些东西?

我还可以注意到,在我的浏览器(本地主机之外)中简单地查看 html 文件时,无论它们在目录中的位置如何,页面都可以正常工作并加载。感谢您的帮助!

编辑: 这是我修改后的 conf 文件 DocumentRoot 部分:

#DocumentRoot "F:/Apps/xampp/htdocs"

DocumentRoot "F:/me/GitWorkDir/myproject_io"


<Directory "F:/me/GitWorkDir/myproject_io">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks Includes ExecCGI

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

【问题讨论】:

  • 你对conf文件中的documentRoot做了什么修改???
  • 是的,我确实更改了 DocumentRoot 目录(请参阅原始帖子中的编辑)。这能解释这个问题吗?因为据我所知,即使在新的根目录下,本地主机也可以访问 index.html,只是不能在子目录中。

标签: html windows apache xampp


【解决方案1】:

大多数情况下,如果您在 Windows 上安装 XAMPP,它可以毫无问题地运行。唯一在 Windows 上出现问题的是许可。您可以通过右键单击 htdocs 文件夹并转到安全选项卡并将所有权利授予所有人来解决。

【讨论】:

  • 谢谢,我在安全选项卡中添加了完全控制,但访问子目录文件时仍然出现错误 503。但是根据您的信息,我假设我正面临意外的行为,对吗?它应该可以正常工作吗?如果您有任何其他可以解决问题的想法,请随时分享...
  • 那么您必须向用户“Everyone”授予您为文档根目录设置的文件夹的权限
  • 请将此文件夹的权限授予“每个人”用户 F:/me/GitWorkDir/myproject_io 现在这是您的网络文件夹,您可以访问其子文件夹而不是默认 htdocs 的子文件夹
  • 再次感谢,不幸的是它仍然不起作用:/ 我进行了另一个测试:XAMPP 示例文件也可以在子目录中工作(例如,我可以访问 localhost:8080/dashboard/faq.html)。我注意到他们指定了带有开头“/”的链接路径(

    Apache Friends

    ),但是在我的文件中包含一个并没有t 解决问题。
  • 哇,我发现是什么导致了这个问题,一个鬼鬼祟祟的事情......我将在下面发布解决方案,但为了澄清一下,我所指的仪表板在 htdocs 中,我恢复了到原始根目录来测试这是否是问题所在,但实际上它只是与我称为“示例”的子目录有关。不幸的巧合,无论如何感谢您的帮助:')
【解决方案2】:

事实证明,这个问题是由于一个不幸的巧合导致子目录被准确地称为“示例”...... 请参阅此page,其中讨论了该问题并提出了修复建议。

简而言之,您可以:

  1. 要么转到文件 C:\xampp\apache\conf\extra\httpd-ajp.conf 并添加一个“#”来注释掉冲突的行: ProxyPass /examples ajp://127.0.0.1:8009/examples smax=0 ttl=60 retry=5
  2. 或者简单地重命名“examples”目录(例如examples2)

【讨论】:

  • 如果您更改了您的文档根目录,那么 XAMPP 将开始查看更改后的目录而不是 htdocs(请记住,在 Windows 中您需要授予用户权限,最简单的是“所有人”组)。这是一个非常简单的问题,我一直试图告诉你,但可能是我的英语不够清楚
猜你喜欢
  • 2018-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-18
  • 1970-01-01
  • 2021-04-17
  • 2017-01-28
  • 1970-01-01
相关资源
最近更新 更多