Я сейчас перехожу со старого сервера Debian 6 на новый красивый и блестящий сервер Ubuntu 16.04. На нашем сервере Debian у нас есть основной домен, а также несколько поддоменов (каждый из которых имеет файл .conf), например:
На новом сервере, поскольку у нас еще нет доменного имени, указывающего на IP-адрес, но мы должны протестировать перенесенные сайты, я использовал следующий файл .conf:
<VirtualHost *:80>
ServerAdmin serveradmin@example.com
Alias /prod /var/www/example.com/web
Alias /dev /var/www/dev.example.com/web
Alias /db /var/www/db.example.com/public_html
DirectoryIndex index.php
</VirtualHost>
Итак, если я хочу перейти на домашнюю страницу в каждой среде, я использую эти URL-адреса:
Теперь на сайте разработчиков у меня есть довольно красивые правила перенаправления URL-адресов, такие как:
RewriteRule ^pretty-url /path/to/content [L,R=301]
Проблема в том, что если я перейду к http://11.22.33.44/dev/pretty-url
, он перенаправляет меня на http://11.22.33.44/path/to/content
, не http://11.22.33.44/dev/path/to/content
.
Учитывая, что я не могу использовать такую директиву, как ServerName dev.11.22.33.44
или ServerName 11.22.33.44/dev
, и Я не хочу изменять файлы .htaccess в веб-каталогах - как должны выглядеть мои файлы .conf, чтобы разрешить использование нескольких «сайтов» на IP-адресе, каждый из которых сопоставляется с подкаталогом и правильно перезаписывается в этот подкаталог?