2
votes

This is most likely a beginner's issue, but I can't seem to find the fix anywhere, and the few posts I found dealing with it are unanswered (e.g. xampp in window 7 cannot access files in subfolder inside C:/xampp/htdocs).

So far I have a working localhost using XAMPP (had to change the port to 8080), located in a custom document root. I can load the index.html, but when I click on a link towards a subdirectoy:

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

I get the following error:

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

Even if I type in the address (http://localhost:8080/examples/test.html) directly in the browser, it also doesn't work.

Could someone please indicate if this should be working? Or if I should specify something in the apache config file?

I could also note that when simply viewing the html files in my browser (outside of the localhost), the pages work fine and load regardless of their position in the directories. Thanks for any help!

Edit: Here is my modified conf file DocumentRoot section:

#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>
2
Did you make any changes to documentRoot in conf file???Mohtisham Zubair
Yes, I did change the DocumentRoot directory (see edit in original post). Could this explain the issue? Because as far as I know, even in the new root, the localhost can access index.html, just not in subdirectories.sc28

2 Answers

2
votes

It turns out the issue was due to an unlucky coincidence preventing a subdirectory to be called, precisely, "examples"... See this page which discusses the issue and proposes a fix.

In short, you can:

  1. Either go to the file C:\xampp\apache\conf\extra\httpd-ajp.conf and add a "#" to comment out the conflicting line: ProxyPass /examples ajp://127.0.0.1:8009/examples smax=0 ttl=60 retry=5
  2. Or simply rename the "examples" directory differently (e.g. examples2)
1
votes

Mostly if you install XAMPP on windows it runs without any problem. Only thing which give issue on windows is permission. which you could resolve by right click on htdocs folder and go to security tab and give all rights to everyone.