Я пытаюсь использовать mod_rewrite от apache2 для принудительного подключения SSL к веб-сайту. До сих пор она работает отлично со следующим в <VirtualHost>
записи сайта:Принудительное перенаправление на SSL для всех страниц, кроме одного
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [QSA,NC,R,L]
Это работает хорошо, и перенаправляет все, что является то, что я хотел.
Однако на сайте есть одна конкретная страница, в которой используется API карт Google, который недоступен через SSL и, следовательно, запускает предупреждения о смешанном содержании в браузере. Итак, мне бы хотелось, чтобы эта страница, предназначенная только для карт, не перенаправлялась и использовала обычное, не-ssl-соединение.
URL-адрес, по которому я не хочу использовать SSL, имеет форму /thing/add/{ID}/page3
, где {ID}
- числовое значение.
Возможно ли это?
Работает отлично. Спасибо :) –
Добро пожаловать. Вы можете попробовать% {HTTPS} ^. + $ Вместо регулярного выражения% {SERVER_PORT} (так как% {HTTPS} должно быть «включено», если на SSL не указано иначе, тогда вы будете независимы от номера порта) но у меня были проблемы с этим. – Piskvor