2010-07-26 3 views
0

Я следующую задачу:Проблемы с модулем перезаписи и отрицаний моделей

  • Если URL содержит ключевое слово «formulario-» и это HTTP соединения а, я хочу, чтобы перенаправить https версия.
  • Если URL не содержит ключевое слово «formulario-» и это HTTPS соединения а, я хочу, чтобы redirecto HTTP версии.

Я попытался следующий .htaccess но doens't работу правильно:

RewriteEngine On 

RewriteCond %{HTTPS} =on 
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} 

RewriteCond %{HTTPS} !=on 
RewriteRule ^formulario-(.*) http://%{HTTP_HOST}%{REQUEST_URI} 

Спасибо за вашу помощь!

ответ

1

непроверенная, но общая идея:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule formulario- https://%{HTTP_HOST}%{REQUEST_URI} [R,L,QSA] 

RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} !formulario- 
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R,L,QSA] 

Теория быть не может отрицать RewriteRule, но вы можете отрицать RewriteCond.

1

Что именно не работает?

Одна вещь, которая приходит на ум: Попробуйте использовать [L] flag для первого правила, так что apache перестает обрабатывать второе правило, если применяется первое правило.

Я не уверен, что все. Вероятно, вам нужно каким-то образом проверить, был ли ранее перенаправлен пользователь.

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