Назад | Перейти на главную страницу

Доступ к сайту только по HTTP, кроме 3 страниц

Я хочу, чтобы через 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. Умышленно. Причина этого в том, что если вы зависите от перенаправления, чтобы поймать места, где ваш код отправляет запросы на незашифрованный адрес, то ваши клиенты будут отправлять конфиденциальные данные в незащищенных запросах. Не перенаправляйте его.