2013-12-03 3 views
1

Я хотел бы заставить протокол HTTPS в Htaccess для следующих каталогов:Htaccess сила HTTPS для некоторых каталогов

  • /админ
  • /счет
  • /Войти
  • /контакт
  • /signin

До сих пор у меня был следующий код:

RewriteCond %{HTTPS} =off 
RewriteRule ^admin https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
RewriteRule ^account https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
RewriteRule ^login https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
RewriteRule ^contact https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
RewriteRule ^signin https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

Но это работает только для первых двух каталогов: '/ admin' и '/ account', а остальные не перенаправляются на https.

Кто-нибудь знает, как сделать эту работу для остальных каталогов?

ответ

3

RewriteCond применимо только к следующим RewriteRule. Ваши многочисленные правила могут быть объединены в один. Рассмотрите этот код:

RewriteCond %{HTTPS} off 
RewriteRule ^(admin|account|login|contact|signin) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
+0

Спасибо @anubhava :) – Macchiato

+0

Я заметил, что вы использовали ** off ** вместо ** = off **. Есть ли причина для этого, или это просто опечатка? – Macchiato

+0

@Macchiato: Я считаю, что оба ведут себя одинаково. Правило ли работало для вас? – anubhava

0

Это работает и для меня, но только для всех страниц, кроме корня в каждом каталоге. то есть https://domain.com/folder/ не находится в SSL.

Смежные вопросы