Все не дает мне покоя идея бюджетного варианта множества сайтов на одном хостинге через mod_rewrite
Хочется добавлять бесконечное количество applications, после чего вешать на них соответствия по домену
Во время обсуждений моей статьи на хабре, было предложено заюзать:
https://github.com/mickgeek/yii2-advanc ... /.htaccess
Но там выходит не совсем универсально все же. Получается при добавлении нового надо копипастить кучу блоков и условий
Мой же вариант плох запарками в enviroment & tests. Собственно из-за чего и хочу распилить снова
Какой каркас вижу я?
- Сайт конфигурируем на корень проекта. Там размещаем глобальный .htaccess (1)
- У каждого приложения, в папке WEB сохраняем .htaccess (2)
- Дальше в .htaccess (1) происходит определение домена и проброс запроса внутрь подпапки
- .htaccess (2) после проброса разруливается сам че-куда
Код: Выделить всё
Options FollowSymLinks
AddDefaultCharset utf-8
RewriteEngine On
# Don't loop: https://habrahabr.ru/post/75885/
RewriteCond %{ENV:REDIRECT_STATUS} !^$
RewriteRule .* — [L]
RewriteCond %{HTTP_HOST} ^rh\.dev$
RewriteRule . /frontend/web%{REQUEST_URI} [L]
RewriteCond %{REQUEST_URI} \.(htaccess|htpasswd|svn|git)
RewriteRule \.(htaccess|htpasswd|svn|git) - [F]
Ибо когда идет запрос типа rh.dev/index.php - апач отправляет хотя бы в нужную папку, но в неправильный файл
А если обращаться чисто в корень rh.dev - то он работает с последним правилом и никуда не шевелится
PS: apache2.4
LogLevel debug rewrite:trace3
ErrorLog ${APACHE_LOG_DIR}/error-rh.log