Как я могу переместить Symfony2 SonataAdminBundle из маршрута "/admin" в поддомен "admin"
Мне нужно переместить администратора в отдельный поддомен на Symfony2. Как мне настроить свои маршруты и безопасность?
1 ответ
Что касается безопасности, вы можете легко ограничить брандмауэр безопасности определенным хостом (начиная с Symfony 2.4), как описано в этом официальном объявлении и документации.
Здесь вы можете увидеть пример конфигурации брандмауэра администратора для домена admin.your-domain.com
security:
firewalls:
admin:
pattern: ^/
host: admin\.your-domain\.com
http_basic: true
В части маршрутизации вы можете либо изменить рефакторинг ваших административных маршрутов, чтобы они указывали на /, и использовать соответствие хоста в маршрутах, как описано в официальной документации компонента маршрутизации.
Вот пример конфигурации маршрута с опцией сопоставления хоста:
admin_dashboard:
path: /
host: "admin.your-domain.com"
defaults: { _controller: AdminBundle:Dashboard:homepage }
Или вы могли бы переписать URL www.your-domain.com/admin
в admin.your-domain.com
используя конфигурацию веб-сервера. Это пример для Apache:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?your-domain\.com$
RewriteRule ^admin/(.*) http://admin.your-domain.com/$1 [R=301,L]