htaccess - как проверить, не поддерживает ли сервер SSL, и перенаправить только один раз. - PullRequest
0 голосов
/ 29 августа 2018

Есть ли способ проверить, включен ли SSL без https://, заданного в запросе?

Переносимая среда, над которой я работаю, включает в себя файл htccess, который требует (и включается) * 1006 в server-config / vhost. Если SSL недоступен, он должен перенаправить запросы в html-файл обработчика ошибок «обслуживание сервера», который предоставляет отладочную информацию конечному пользователю (разработчику) о том, что не так и как это исправить. Приведенный ниже фрагмент кода просто застревает в цикле (очевидно), если SSL недоступно:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_SCHEME} =http
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Достопочтенный RewriteCond %{HTTPS} off работает только в том случае, если в URL-адресе запроса задано REQUEST_SCHEME (или так кажется).

У меня есть идея провести REDIRECT_URL сравнение - которое заставляет https (один раз) и должно отличаться только REQUEST_SCHEME от предыдущего запроса - и если оно не изменилось, оно определенно не поддерживается .. но я не не знаю, как это сделать: (

Любой совет / ответ будет оценен в натуральной форме, спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...