Я новичок в этом сообществе, но время от времени находил его действительно полезным.
Я много раз искал ответ, но не нашел ничего, что мне нужно.Я пытался решить это самостоятельно, но я все еще получаю ошибки, поэтому я надеюсь найти кого-то, кто может показать мне правильный путь ...: -)
У меня есть "классика"Веб-сайт ZF со многими URL-адресами контроллеров / действий, которые перенаправляются в файл index.php с помощью файла .htaccess.
Теперь мне нужно перенаправить пару контроллеров на ssl-соединение https, исключая некоторые действия обоихконтроллеры.
Я пытался это сделать так:
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^mydomain\.tld [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{HTTPS} on
RewriteCond $1 ^!((member|shop)/(?!(index|login))(.*))
RewriteRule ^(.*) http://%{HTTP_HOST}/$1 [L,R=301]
RewriteCond %{HTTPS} off
RewriteCond $1 ^((member|shop)/(?!(index|login))(.*))
RewriteRule ^(.*) https://%{HTTP_HOST}/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !\.(js|ico|gif|jpg|png|css|swf|pdf|txt)$ index.php
Кажется, это работает, когда я иду в / member controller Но тогда, когда я иду, например, на другой контроллер/ index или / about не перенаправляет к http-соединению (порт 80), и если я пытаюсь немного изменить условие rewrite, то иногда выполняет цикл перенаправления, и браузер выдает мне уведомление, блокирующее соединение с сайтом.
Есть ли кто-нибудь, кто мог бы показать мне правильный синтакс для использования в моих условиях перезаписи, чтобы позволить обоим контроллерам (исключая данные действия) при подключении https и вернуться к какtandard http соединение при смене контроллера?
Заранее спасибо.
Алессандро