0

http://site1.bla.example.comhttp://site2.bla.example.com、およびhttp://site2.bla.example.com/var/www/htmlはすべて、私の DocumentRoot を指しています。

次のディレクトリ構造を考えると、 http ://site1.bla.example.com/files/somefile1.pngを返すsomefile1.pnghttp://site2.bla.example.com/files/somefile2.pngを返すsomefile2.png、などを希望します。 .

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

これはどのように達成されますか?以下は私の失敗した試みです。

<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>
4

0 に答える 0