how to configuring a xampp web server for different root directory
Solution 1
You can change Apaches httpd.conf by clicking (in xampp control panel) apache/conf/httpd.conf
and adjust the entries for DocumentRoot
and the corresponding Directory
entry.
Just Ctrl+F for "htdocs" and change the entries to your new path.
See screenshot:
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">
Solution 2
- Go to C:\xampp\apache\conf\httpd.conf
- Open httpd.conf
- Find tag : DocumentRoot "C:/xampp/htdocs"
- Edit tag to : DocumentRoot "C:/xampp/htdocs/myproject/web"
Now find tag and change it to < Directory "C:/xampp/htdocs/myproject/web" >
Restart Your Apache
Solution 3
In case, if anyone prefers a simpler solution, especially on Linux (e.g. Ubuntu), a very easy way out is to create a symbolic link to the intended folder in the htdocs folder. For example, if I want to be able to serve files from a folder called "/home/some/projects/testserver/" and my htdocs is located in "/opt/lampp/htdocs/". Just create a symbolic link like so:
ln -s /home/some/projects/testserver /opt/lampp/htdocs/testserver
The command for symbolic link works like so:
ln -s target source
where,
target - The existing file/directory you would like to link TO.
source - The file/folder to be created, copying the contents of the target. The LINK itself.
For more help see ln --help Source: Create Symbolic Links in Ubuntu
And that's done. just visit http://localhost/testserver/ In fact, you don't even need to restart your server.
Solution 4
I moved my htdocs folder from C:\xampp\htdocs to D:\htdocs without editing the Apache config file (httpd.conf).
Step 1) Move C:\xampp\htdocs
folder to D:\htdocs
Step 2) Create a symbolic link in C:\xampp\htdocs linked to D:\htdocs using mklink command.
D:\>mklink /J C:\xampp\htdocs D:\htdocs
Junction created for C:\xampp\htdocs <<===>> D:\htdocs
D:\>
Step 3) Done!
Solution 5
ok guys you are not going to believe me how easy it is, so i putted a video on YouTube to show you that [ click here ]
now , steps :
- run your xampp control panel
- click the button saying config
- select apache( httpd.conf )
- find document root
- replace
DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">
those 2 lines || C:/xampp/htdocs == current location for root || change C:/xampp/htdocs with any location you want
- save it DONE: start apache and go to the localhost see in action [ watch video click here ]
Comments
-
vardius over 3 years
The web directory is the home of all of your application's public and static files. Including images, stylesheets and JavaScript files. It is also where the front controllers live.
So the question is when i install and set up xampp my web directory is:
xampp\htdocs
and I want to set it up for:
xampp\htdocs\myproject\web
How to do it? Now when I type in my browser the address:
http://localhost/
I enterxampp\htdocs
directory
and I want to type in my browser the address:http://localhost/
and enterxampp\htdocs\myproject\web
directory -
WahhabB over 5 yearsThis is the best! Easy and completely flexible. Thanks.
-
user3187724 over 3 yearsThis is great, and on Windows it would be
mklink /J source target
-
posfan12 over 3 yearsCan it be any arbitrary directory? Even on a different partition?
-
Max Markson about 3 yearsPerfect, easiest solution. Thanks!
-
Moeez about 2 yearsIt does works for a single project but what for multiple ones ?