Я хочу предложить своим пользователям доступ к бета-версии для тестирования новых функций. Я веду свой сайт с помощью фреймворка Symfony.
На данный момент у меня следующая рабочая конфигурация:
mysite.com:
<VirtualHost *:80>
DocumentRoot /var/www/html/mysite/current/web
ServerName mysite.com
ServerAlias www.mysite.com
<Directory "/var/www/html/mysite/current/web">
AllowOverride None
Order Allow,Deny
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
</VirtualHost>
Я попытался обслужить бета-версию своего сайта со следующей конфигурацией:
<VirtualHost *:80>
DocumentRoot /var/www/html/mysite_beta/current/web
ServerName beta.mysite.com
<Directory /var/www/html/mysite_beta/current/web>
AllowOverride None
Require all granted
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
</VirtualHost>
Это не сработало, и Apache обслуживал только контент из второй конфигурации, но с ошибками 404 для ресурсов, таких как файлы css и js, которые включены.
Я недостаточно знаком с настройкой Apache, чтобы все работало так, как я предполагал.
Как я могу запустить две разные кодовые базы моего сайта на одном сервере Apache?
Убедитесь, что DNS правильно разрешает как для mysite.com, так и для beta.mysite.com. Если Apache не получает значение HOST в заголовке, он будет использовать первый загруженный сайт.
Apache загружает сайты в алфавитном порядке.
Конфигурация в порядке, но я не вижу
NameVirtualhost *:80
Директива. Попробуйте поместить его в основной файл конфигурации