Как установить корневой документ по умолчанию, если корневой виртуальный документ не существует? - PullRequest
0 голосов
/ 13 марта 2019

Я настроил виртуальный корень документа с помощью vhost_alias, и он хорошо работает, если существует каталог поддоменов.но выдает ошибку 403, если субдомен dir не существует.Я хочу установить каталог по умолчанию, если поддомен не существует.

текущий vhost conf

<VirtualHost *:80>
        ServerAlias *.domain.com
        VirtualDocumentRoot /home/ubuntu/www/domain/%1
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        <Directory "home/ubuntu/www/domain/*">
            Options Indexes FollowSymLinks
            AllowOverride All
            Order Allow,Deny
            Allow from all
            Require all granted
        </Directory>
</VirtualHost>

Я пытался использовать документ об ошибке

ErrorDocument 403 http://app.domain.com%{REQUEST_URI}?%{QUERY_STRING}

но это меняет URL браузера.Есть ли способ перенаправить внутри?Я также пытался переписать, но это не работает.

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT} !-d
RewriteRule %{DOCUMENT_ROOT} "/home/ubuntu/www/domain/app"  [QSA,L]

пробовал это, но не работает

1 Ответ

0 голосов
/ 14 марта 2019

Найденное решение

RewriteEngine on
RewriteCond %{DOCUMENT_ROOT} !-d
RewriteRule (.*) http://app.domain.com/%{REQUEST_URI} [P,L]

Добавление этой директивы в директорию решило мою проблему. Для сайтов SSL включите это в блок Virutalhost

SSLProxyEngine on
ProxyPassReverse / https://app.domain.com/
...