2017-02-04 200 views
2

这很可能是初学者的问题,但我似乎无法在任何地方找到修复程序,我发现处理它的几篇文章未得到答复(例如xampp in window 7 cannot access files in subfolder inside C:/xampp/htdocs)。XAMPP:在根目录的子目录中访问html页面

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

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

我得到以下错误:

Service unavailable!

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

If you think this is a server error, please contact the webmaster.

Error 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> 
+1

你做任何在conf文件中修改documentRoot? –

+0

是的,我确实更改了DocumentRoot目录(请参阅原始文章中的编辑)。这能解释这个问题吗?因为据我所知,即使在新的根目录中,本地主机也可以访问index.html,而不是在子目录中。 – sc28

回答

1

事实证明,这个问题是由于一个不幸的巧合导致子目录无法被调用,恰恰是“示例”... 请参阅此page讨论该问题并提出修复建议。

总之,你可以:

  1. 要么去到文件C:\ XAMPP的\ apache的\的conf \额外\的httpd-ajp.conf 并添加 “#” 注释掉冲突行: 的ProxyPass /例子AJP://127.0.0.1:8009 /例子SMAX = 0 TTL = 60重试= 5
  2. 或者干脆重新命名不同的 “实例” 的目录(如examples2)
+0

如果你改变你的docuementroot然后XAMPP将开始寻找改变的目录里面不是在htdocs(记得在Windows中,你需要给用户许可,最简单的是“所有人”组)。这是非常简单的问题,我一直试图告诉你,但可能是我的英文不够清楚 –

1

晴,如果你在Windows上安装XAMPP它运行没有任何问题。只有对Windows发出问题的东西是许可。您可以通过右键单击htdocs文件夹并转到安全选项卡并向所有人授予所有权利。

+0

谢谢,我在“安全”选项卡中添加了完全控制,但访问子目录文件时仍会出现错误503。但我认为根据你的信息,我正面临一个意想不到的行为吧?它应该工作没有问题?如果你有任何其他的想法可以解决这个问题,请不要犹豫分享... – sc28

+0

然后你已经授权给你为文件根目录设置的文件夹给用户“Everyone” –

+0

请给右为此文件夹的“所有人”用户F:/ me/GitWorkDir/myproject_io 现在这是您的web文件夹,您可以访问其子文件夹而不是默认htdocs的子文件夹 –