/ / Como obter SSL + mod_rewrite + Zend Framework MVC trabalhando juntos? - php, zend-framework, mod-reescrita, ssl

Como obter o SSL + mod_rewrite + Zend Framework MVC trabalhando juntos? - php, zend-framework, mod-reescrita, ssl

Então, eu tenho site ZF MVC e quero forçar a conexão SSL em tudo sob meu / checkout / Eu tentei usar o mod_rewrite para isso, então meu .htaccess ficaria assim:

RewriteEngine on
RewriteRule (/checkout.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R]
RewriteRule !.(js|ico|gif|jpg|png|css|swf|xml|avi|flv|mov|mp3|wav)$ index.php [L]

Com certeza, ele ativa o SSL, mas a segunda regra, que especifica o ZF e redireciona tudo para o index.php sorta, apaga a especificação do protocolo.

Infelizmente meu nível de proficiência com o mod_rewrite é estupendamente terrível. Talvez alguém possa me ajudar a resolver isso?

Respostas:

3 para resposta № 1

A resposta de Tim Lytle é principalmente lá.

Eu o alterei para ser um pouco mais rigoroso ao verificar HTTPS e os sinalizadores precisam de um delimitador.

RewriteCond %{HTTPS} !^on$
RewriteRule ^/checkout/? https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteRule !.(js|ico|gif|jpg|png|css|swf|xml|avi|flv|mov|mp3|wav)$ index.php [L]

1 para resposta № 2

Isso pode ajudá-lo, adicione o RewriteCond apenasse aplica quando a conexão não é SSL, então adicione a opção "L" à sua regra de redirecionamento para que o processamento de reescrita pare naquele ponto (então a última regra não substitui o redirecionamento SSL).

RewriteCond %{HTTPS} !on
RewriteRule (/checkout.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [RL]

RewriteRule !.(js|ico|gif|jpg|png|css|swf|xml|avi|flv|mov|mp3|wav)$ index.php [L]