Fechar, mas não totalmente, tente:
RewriteEngine On
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301]
O problema: não consigo redirecionar meu site de https para http.
OK, há várias soluções oferecidas, mas nenhuma parece estar funcionando para mim. Para estabelecer algumas coisas, eu já tenho o .htaccess funcionando bem neste site, então a necessidade de definir AllowOverride é retirada da equação.
O mais básico que já vi é adicionar algo como:
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
... para o meu arquivo .htaccess. No entanto, isso não faz nada ... como se a condição não estivesse sendo atendida. Depois de definir isso e visitar o link , não sou redirecionado para link como eu seria de esperar que eu simplesmente passasse para o link .
Qual é a causa disso? Minha expectativa seria que, com o arquivo acima no meu .htaccess e com arquivos .htaccess funcionando bem no meu site, que quando eu visito qualquer URL https eu serei redirecionado para o seu equivalente http.
Mais informações
No servidor de armazenamento temporário No meu servidor de teste adicionando o acima ao htaccess, ele me envia a um URL com um parâmetro anexado a ele como link
No Prod Server Um teste rápido na produção resulta em uma página de erro do apache que diz que a página foi movida e que ocorreu um erro de 500 servidores.
Os detalhes da mensagem de erro são:
Found
The document has moved here. <--- this link simply points to the same page I am already on
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
Aqui está o htaccess existente:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.mysite.com [NC]
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
E o seguinte falha:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} =on //(with or without the equals symbol this fails)
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{HTTP_HOST} !^www.mysite.com [NC]
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Tags .htaccess apache-2.2 rewrite