...which is HTTP to HTTPS and once again HTTPS TO HTTPS
Especificamente, na sua captura de tela, você vê dois redirecionamentos ao solicitar HTTP e www (ou seja, http://www.example.com
):
-
http://www.example.com
tohttps://www.example.com
(HTTP para HTTPS) -
https://www.example.com
ahttps://example.com
(www para não-www)
No.1 é acionado por sua regra .htaccess
e no.2 é, sem dúvida, acionado pelo próprio WordPress em PHP.
Esta série de redirecionamentos é realmente necessária se você planeja implementar a HSTS ( apesar do que sua "ferramenta de otimização" está relatando).
Caso contrário, você pode evitar o redirecionamento duplo canonizando o nome do host em .htaccess
, antes que o WordPress o faça. Uma maneira é adicionar uma regra adicional antes do seu redirecionamento HTTP para HTTPS existente. Por exemplo:
RewriteEngine On
# www to non-www (and HTTPS)
RewriteCond %{HTTP_HOST} ^www\.([a-z.]+?)\.?$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]
# HTTP to HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
O %1
na RewriteRule
substituição é uma referência anterior ao primeiro grupo capturado na última CondPattern . Em outras palavras, o nome do host menos qualquer prefixo www.
(e qualquer ponto final, no caso de um FQDN).
Observe que o redirecionamento www para não www também redireciona para HTTPS. Portanto, isso garante que o seguinte HTTP para HTTPS nunca seja processado quando ocorrer o primeiro redirecionamento (portanto, nenhum segundo redirecionamento).
Certifique-se de limpar o cache do seu navegador antes do teste. (Para evitar problemas de cache, geralmente é preferível primeiro testar com 302 - redirecionamentos temporários.)