Назад | Перейти на главную страницу

Как я могу настроить обратный прокси (в /) и проект Laravel (в / backoffice /), работающие в одном поддомене?

Я пытаюсь настроить на Apache поддомен, который должен:

Я могу настроить обратный прокси и Laravel независимо, но не одновременно с тем, что .htaccess в общей папке Laravel конфликтует с конфигурациями обратного прокси.

Вот файл .htaccess в папке laravel:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

И вот соответствующая часть конфигурации файла apache conf:

        Alias /backoffice /mnt/volume_fra1_01/project/backoffice/public
        <Directory /mnt/volume_fra1_01/project/backoffice/public >
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Require all granted
        </Directory>


        ProxyRequests On
        ProxyPass /backoffice !
        ProxyPass / http://localhost:3000
        ProxyPassReverse / http://localhost:3000


Даже с исключением / backoffice каждый запрос попадает на обратный прокси.

Удалив .htaccess, я могу подтвердить, что исключение действительно происходит. Поэтому я подозреваю, что modrewrite вмешивается в URI таким образом, что его перехватывает правило ProxyPass.

Эта конфигурация кажется чем-то, что должно быть легко выполнить. А в NGINX это сделать очень просто. Как я могу это сделать в Apache?