На счет редиректа с https на http я затрудняюсь сказать - я не вижу причин для этого в htaccess.
Редирект с http на https у вас прописан и работает правильно.
Про 404 на индексе я добавил в ответ - '' => 'site/index',
xFreaky: После $sql = "..."; добавьте echo($sql); и покажите что за запрос выходит. Сразу будет понятно - есть переменные или нет, есть ли ошибка в запросе или нет.
Ну да, разумеется, там где required вылезает системное сообщение.
Я заполнял email и пароль и тестировал.
На jsfiddle у меня форма сабмитилась, а на codepen - вылезало уже js alert.
Ну и параллельно посмотрите верстку, у вас сейчас на странице 2 раза присутствует тэг html, перед /head стоит закрывающий /script который ни к кому не относится.
Еще раз на всякий случай уточню, необходимость проставить https или // относится ТОЛЬКО к картинкам, скриптам и стилям. Это не относится к a href="..." на сторонние сайты.
Сторонники говорят, что главный критерий для поисковика - это "сайт должен быть сделан для людей".
То есть если он удобный, без обманок, люди на нем проводят какое-то время, то все хорошо.
Либо src="https://..." либо src="//...." (без указания протокола).
Есть вероятность что какой-то внешний (чужой, если таковой есть) скрипт может оказаться на хосте, который не поддерживает https, тогда или переносить скрипт себе или смириться.
Редирект с http на https у вас прописан и работает правильно.
Про 404 на индексе я добавил в ответ -
'' => 'site/index',