How to Configura Apache PHP Server With Multiple Sites Relative URL
27-10-2016In XAMPP, we can run multiple web site at any path which is relative to root path by configuring httpd.conf file.
Example: In this example, we used symfony web application as root application and site1 and site2 as follows:
<VirtualHost *:80> ServerName domain.tld ServerAlias www.domain.tld DocumentRoot C:/xampp/htdocs/symfony/sample/web <Directory C:/xampp/htdocs/symfony/sample/web> AllowOverride None Order Allow,Deny Allow from All <IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.php [QSA,L] </IfModule> </Directory> Alias /site2 C:/xampp/htdocs/site1 <Directory C:/xampp/htdocs/site1> Order allow,deny allow from all </Directory> </Directory> Alias /site2 C:/xampp/htdocs/site2 <Directory C:/xampp/htdocs/site2> Order allow,deny allow from all </Directory> # uncomment the following lines if you install assets as symlinks # or run into problems when compiling LESS/Sass/CoffeeScript assets # <Directory /var/www/project> # Options FollowSymlinks # </Directory> # optionally disable the RewriteEngine for the asset directories # which will allow apache to simply reply with a 404 when files are # not found instead of passing the request into the full symfony stack <Directory C:/xampp/htdocs/symfony/urunTakipSistemi/web/bundles> <IfModule mod_rewrite.c> RewriteEngine Off </IfModule> </Directory> </VirtualHost>
Paste this configuration at the bottom of the httpd.conf file, then type http://localhost.
As you can see, symfony web application is started. Then type http://localhost/site1
and http://localhost/site2
, respectively.
Note: The most important parts are Alias /site1 C:/xampp/htdocs/site1 and Alias /site2 C:/xampp/htdocs/site2. To accomplish this, we must use Alias keyword.