RewriteCond %{HTTPS} off
RewriteRule ^quote.php$ https://domain.com/quote.php [R=301,L,QSA]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/quote.php
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L,QSA]
ответ на комментарий: для добавления новой страницы в условные обозначения просто поставьте их в скобках. Like:
RewriteCond %{HTTPS} off
RewriteRule ^(quote|contact).php$ https://domain.com/$1.php [R=301,L,QSA]
вопрос 2: QSA
флаг добавления текущей строки запроса к новому URL.это происходит по умолчанию, за исключением случая, когда вы меняете строку запроса.Вы можете удалить их сейчас безопасно, но если вы добавили строку запроса и хотите иметь старую, поставьте ее обратно.
Редактировать 2: Приведенный выше код имеет небольшую проблему с безопасностью :( на самом деле это больше, чем немного :-D. когда вы используете https
для передачи HTML-кодов, а страница использует относительные пути, так что это нормально. но когда вы помещаете эти коды в .htaccess
они превращаются в http
и в этом проблема :-).поместите код ниже, чтобы решить проблему:):
RewriteCond %{HTTPS} off
RewriteRule ^(quote|contact).php$ https://domain.com/$1.php [R=301,L,QSA]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/(quote|contact).php
RewriteCond %{REQUEST_URI} !^/(.*)\.(css|png|js|jpe?g|gif|bmp)$
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L,QSA]
Теперь все изображения, сценарии, .. которые вы используете на защищенных страницах, передаются безопасно.