Я пытаюсь настроить на 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?