Я хочу, чтобы через HTTPS можно было получить доступ только к 3 страницам. Все остальные страницы должны быть доступны только по протоколу HTTP, и если пользователь попытается получить доступ к странице через HTTPS, он перенаправит их на HTTP-версию этой страницы. Я пробовал несколько файлов .htaccess, но мне кажется, что ни один из них не работает.
Имена трех страниц, к которым необходимо получить доступ через HTTPS: enroll.php, payment.php, Registered.php.
Предполагая, что все эти страницы находятся в корневом каталоге документа, как и .htaccess
файл:
RewriteCond %{HTTPS} =on
RewriteRule !^(enroll\.php|payment\.php|registered\.php)$ http://www.example.com/$1 [R=301]
RewriteCond %{HTTPS} =off
RewriteRule ^(enroll\.php|payment\.php|registered\.php)$ - [F]
Обратите внимание на заглавные буквы - я перевел ваш Registered.php
, но если это не так, вы захотите исправить.
Кроме того, у меня не работает ваше перенаправление на HTTPS. Умышленно. Причина этого в том, что если вы зависите от перенаправления, чтобы поймать места, где ваш код отправляет запросы на незашифрованный адрес, то ваши клиенты будут отправлять конфиденциальные данные в незащищенных запросах. Не перенаправляйте его.