Я обнаружил ошибку, что это неверная конфигурация Apache.
При попытке решения Jamies сайт оказался в цикле перенаправления, поскольку RequestHandler-> isSSL () возвратил false, даже если запрос был https.Затем я обнаружил, что $ _SERVER ['https'] не был установлен, а $ _SERVER ['port'] равнялся 80, а не 443, как ожидалось.
В этот момент я разместил свои директивы ssl в sites-available / default,
SSLEngine on
SSLCertificateFile [path to cert file]
SSLCertificateKeyFile [path to keyfile]
Перемещение директив ssl в виртуальныйхост для субдомена решил проблему с помощью циклов перенаправления.
На самом деле также решена моя первоначальная проблема, потому что метод Router :: url проверяет $ _SERVER ['https'], если установлен, генерирует URL, который начинается сhttps: в противном случае просто http:
Я протестировал и решение Jameies, и свое собственное с правилами перезаписи в .htaccess, и они оба работают как положено после исправления.
Тим