Eu tenho que responder dessa maneira, porque minha conta temporária (ou seja, cookie) está perdida. Enfim, encontrei algumas coisas interessantes.
Corrigi o problema com o principal / em REQUEST_URI, sobre o qual você me falou.
Eu digitei as diretivas RewriteLog e RewriteLogLevel na configuração global do Servidor (que deve se aplicar a HTTP E HTTPS, certo?).
Então eu descobri que todas as solicitações HTTP foram processadas corretamente e como desejadas (!), como eu vi no log, mas as solicitações com HTTPS não foram registradas em log! Então eu suponho que o log não está configurado corretamente ou (e é isso que eu temo) que solicitações via HTTPS não passam pelo procedimento mod_rewrite.
Mais uma vez, estou usando um arquivo .htaccess para definir minhas regras de reconfiguração.
Portanto, o problema real agora é que tudo sobre HTTP é reescrito corretamente, mas quando eu tenho um pedido como o link , Eu quero que ele seja redirecionado para link , porque não é admin.php nem login.php.
E eu não entendi a parte com "(não há necessidade de um RewriteCond separado, na verdade)". Obrigada!
Abaixo do meu arquivo .htaccess atualizado.
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/(admin\.php$|login\.php$)
RewriteRule ^(.*)$ http://%{HTTP_HOST}${REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/(admin\.php$|login\.php$)
RewriteRule ^(.*)$ https://myurl.org%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_URI} !^/(index\.php$)
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^/?(.*)$ index.php/$1 [L]