0

http://site1.bla.example.com, http://site2.bla.example.com, and http://site2.bla.example.com all point to /var/www/html which is my DocumentRoot.

Given the following directory structure, I would like http://site1.bla.example.com/files/somefile1.png to return somefile1.png, http://site2.bla.example.com/files/somefile2.png to return somefile2.png, etc.

/var/www/html/index.php
/var/www/files/site1/somefile1.png
/var/www/files/site2/somefile2.png
/var/www/files/site3/somefile3.png

How is this accomplished? Below is my unsuccessful attempt.

<VirtualHost *:80>
    ServerName example.com
    ServerAlias *.bla.example.com
    DocumentRoot /var/www/html

    #This seems to work, but I wish to use regex
    # Alias /files/site1 /var/www/files/site1 

    #This doesn't work
    AliasMatch ^/files/(.+)$ /var/www/files/$1

    <Directory "/var/www/html">

        RewriteEngine On

        RewriteBase /

        RewriteCond %{HTTP_HOST} ^(.+)\.bla\.example\.com [NC] 
        RewriteRule ^public/([^//]+)$ public/%1/$1 [NC,L]

    </Directory>
</VirtualHost>
user1032531
  • 24,767
  • 68
  • 217
  • 387

0 Answers0