rslaing wrote:Judging by the amount of research I have carried out, the broken link seems to be a very common problem, and having spent an inordinate amount of (wasted) time, no one appears to have a solution.
Thats not the truth. In most cases the problem can be solved very easy. The routing of Apache is very straightforward.
Take a look again on your error message:
[error] [client 127.0.0.1] File does not exist: C:/xampp/htdocs/xampp/test"
What do you see? Apache is searching for a test folder inside your \xampp\htdocs\xampp\
And thats the absolute correct behaviour if you take a look at your URL
Remember one thing:
You type in http://localhost/xampp/test/karma.php
Your OS takes a look into his HOSTS file and transferes the request to http://127.0.0.1/test/karma.php
Your Apache gets that request because it is addressed to Port 80 which is the default port for HTTP requests and your Apache is listening to that Port 80 by default.
So, your Apache have to process the request. Therefor it has to know in which folder it has to start to search for files. That folder is known DocumentRoot.
By Default the DocumentRoot Folder is \xampp\htdocs\
So, your Apache takes the URL http://127.0.0.1/
which is directly routed to the DocumentRoot folder.
So, if you type in http://localhost/xampp/test/karma.php
Apache is searching for a test folder inside your \xampp\htdocs\xampp\ folder.
Question: How does the URL have to look like to request a \xampp\htdocs\ folder?