Убирайте заголовок, снимете редирект, ждите то время которое было указано в параметре max-age. И только потом ставьте 301 редирект.
А то получается ерунда:
Strict-Transport-Security говорит грузить https версию, а 301 говорит идти на http, в результате вот Вам зацикленный редирект...
curl -I https://olegon.ru HTTP/1.1 301 Moved Permanently Location: http://olegon.ru/ Strict-Transport-Security: max-age=0;
Я немного не пойму, чего вы хотите добиться. Вы хотите с https -> http или на оборот?
Если с https на http - уберите заголовок Strict-Transport-Security: max-age=0;
Если с http на htpps, то уберите 301 редирект, который возвращает обратно на http
[umka], спасибо за идею, в понедельник попробую.
Рискну предположить, что что-то вроде этого http://php.net/manual/ru/function.ob-start.php
CURL или file-get-contents
По ссылка найдете примеры.
Решить ее можно либо как сказал [umka] (правкой самих ссылок. И это лучший вариант), либо отправив Strict-Transport-Security , как сказал я. На редирект надеяться не надо.
Ну так проведите тестовую оплату и узнаете. Если он не проверяет рефер, то прокатит. В конце концов можно прямо перед оплатой редиректить на https версию сайта, а после оплаты посылать обратно.
При беглом просмотре исходного кода страницы, я поддоменов не увидел.
А вот абсолютных ссылок с http:// море.
Ссылки разные, на картинки на скрипты, на другие страницы.
Мне одного не понятно, зачем яндекс (и не только яндекс, но и другие банки) требует ставить SSL сертификат на сайт, если оплата происходит на их сервере, а не на сайте клиента. Клиент только отправляет сумму, номер заказа, прочие служебные данные и контрольную сумму отправляемых переменных, на их страницу оплаты...
То, что это костыль - я согласен на 100%, но проблему он решит.
И да, апричем здесь структура?
При заходе через https этот заголовок заставит браузер грузить по протоколу https, даже если стоит ссылка на стиль по протоколу http://
Но если уж так страшно, то можно добавить, но без includeSubDomains
Вашу проблему можно решить используя костыль:
Пусть хостинг провайдер добавит в секцию вашего сервера следующую сточку
add_header Strict-Transport-Security "max-age=1728000; includeSubDomains; preload";
Этот заголовок заставит принудительно загружать ваш сайт (включая скрипты стили и картинки) по протоколу https.
Его вообще не понять, как он хочет статику радовать.
То-ли nginx то-ли проксирование с бэкэнда...
Первые 3 локейшина почти повторяют друг друга (их нужно переписать в 1). И дико смотрятся на фоне 5го.---------- Добавлено 14.05.2015 в 08:05 ----------Короче его конфиг немного противоречит логике.
То ли ТС начитался кривых инструкций, то ли решил эксперименты ставить, не понимая, какая директива и для чего нужна.