Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

apache virtual host definition with regex

For development projects I point real domains to localhost using hosts file. and I add virtual host definition to apache config file. My question is it possible to redirect all "xyz.com" domains to "d:/xampp/htdocs/websites/xyz.com" directory ? this way I will not need to add vhost definition everytime.

like image 923
bkilinc Avatar asked Dec 15 '22 22:12

bkilinc


1 Answers

You can use a wildcard in your VirtualHost's ServerAlias directive:

<VirtualHost *:80>
  # Official name is example.com
  ServerName example.com

  # Any subdomain *.example.com also goes here
  ServerAlias *.example.com

  DocumentRoot "D:/xampp/htdocs/websites/xyz.com"

  # Then rewrite subdomains into different directories
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^(.*)\.example.com$
  # Use the %1 captured from the HTTP_HOST
  # For example abc.example.com writes to websites/abc.com
  RewriteRule ^(.*)$ "D:/xampp/htdocs/websites/%1.com/$1" [L]
</VirtualHost>
like image 101
Michael Berkowski Avatar answered Jan 06 '23 08:01

Michael Berkowski