Мапинг URL path на определенный каталог
Задать корневой каталог для определенного URL пути сайта позволяет Apache2 директива Alias.
Задаем каталог для URL в настройках хоста /etc/apache2/sites-available/your-site.com.conf:
<VirtualHost *:*>
ServerName site.com
...
<IfModule mod_alias.c>
Alias "/app" "/home/user/site.com__app/public"
</IfModule>
<Directory "/home/user/site.com__app/public">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Теперь все запросы пути http://site.com/app будут направлены в каталог /home/user/site.com__app/public.
Для корректного использования rewrite установите директиву RewriteBase в файле public/.htaccess:
RewriteBase /app
Внимание!
Директива Alias переопределяет каталог для URL, даже в случае наличия каталога с таким же названием как URL path.
Примеры
AliasMatch /images/(.*)$ /ftp/public/images/$1
AliasMatch ^/images/(.*)$ /ftp/public/images/$1
ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/
#mapping uri path