htaccess SSL каталог перенаправления и обратного - PullRequest
1 голос
/ 31 августа 2011

Я нашел похожие вопросы, однако, что бы я ни пытался, я не могу заставить htaccess делать то, что мне нужно. Я хотел бы направить посетителей к соединению SSL при посещении одного (или нескольких) виртуальных подкаталогов, а затем отменить это, когда они покидают эти выбранные подкаталоги.

Мои правила выглядят так:

Options +FollowSymlinks
RewriteEngine on

#switch on SSL in /directory/ only
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/directory/
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

#switch off SSL in other folders
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/directory/
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteRule ^([^/\.]+)/?$ /index.php?var1=$1 [NC,L,QSA]
RewriteRule ^([^/\.]+)/([^/\.]+).html /index.php?var1=$1&var2=$2 [NC,L,QSA]
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?var1=$1&var2=$2 [NC,L,QSA]

Кажется, что включение SSL и отключение SSL конфликтуют, и когда я пытаюсь получить доступ к любой странице через https://www.domain.com/foo/, я правильно перенаправлен на http://www.domain.com/foo/.

Однако при попытке доступа к http://www.domain.com/directory/ (который должен быть SSL) я перенаправляюсь на http://www.domain.com/index.php?var1=directory, а не https://www.domain.com/directory/.

Я действительно был бы очень признателен, если бы я поступил неправильно. Я часами рылся в стеке и через Интернет в поисках ответа, но я просто кружусь по кругу и не вижу дрова с деревьев.

Спасибо за любые советы и помощь, которые вы можете предложить.

...