htaccess перенаправить на https отличия браузера

у меня есть следующее в моем файле .htaccess для перенаправления http-запросов на https

RewriteEngine On

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTP_HOST} ^newco.local,^newco.dev
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

это правильно перенаправляется в Firefox, но не в Chrome или Safari. это размещено на phpfog по адресу http://newco.phpfogapp.com, ssl заканчивается при балансировке нагрузки, поэтому я использовать %{HTTP:X-Forwarded-Proto} для проверки https. может ли это быть причиной каких-либо проблем с другими браузерами? Любые идеи?


person Austin    schedule 22.06.2012    source источник


Ответы (1)


Попробуйте переменную %{HTTPS}.

Если запрос HTTPS, переменная =on, иначе =off.

Пример кода:

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^newco.local,^newco.dev
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

Вот полная документация Apache Mod_Rewrite.

person Scott Stevens    schedule 23.06.2012
comment
ОП четко заявил, что HTTPS заканчивается на балансировщике нагрузки, поэтому все запросы попадают на порт 80 (обычный HTTP) в apache, поэтому RewriteCond %{HTTPS} !=on не вариант. - person Eduard Luca; 20.10.2012