Перенаправление на сервере здесь должно быть более производительным, потому что это происходит до того, как будет загружен любой код приложения.
Лично я всегда делаю это в блоке nginx server {} для всех сайтов.Я создаю файл conf для домена и имею 2 блока server {}, основной из которых прослушивает 443 для трафика HTTPS, и небольшой, который просто распознает (суб) домен и выполняет перенаправление на протокол HTTPS.
Вот пример блока перенаправления сервера {}, который у меня есть для конкретного субдомена:
server {
server_tokens off;
listen 80;
server_name sub.domain.com;
return 301 https://sub.domain.com$request_uri;
}
Что касается плюсов для серверных баз, то я бы сказал, очевидные из них:
Плюсы
- Производительность
- Простота
Минусы
- Требуется root-доступ (по крайней мере для nginx, Apache вы можете сделатьэто в файле .htaccess, но это само по себе влечет за собой снижение производительности)
- Не можете так легко все изменить на лету (гибкость?)