Reindirizzamento htaccess https da www a non-www
Ho aggiunto il reindirizzamento .htaccess
https
da www
a non-www
con:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.
RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$
RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]
</IfModule>`
Quando visito il mio dominio, i seguenti reindirizzamenti avvengono senza alcun problema:
http://www.example.com → http://example.com
http://www.example.com/abc → http://example.com/abc
Ma quando visito il mio dominio come https://www.example.com
o https://www.example.com/abs
, il mio dominio non reindirizza e mostra il codice di errore: SSL_ERROR_INTERNAL_ERROR_ALERT
(in Firefox) o ERR_SSL_PROTOCOL_ERROR
(in Chrome)
Ho utilizzato WordPress e il plugin Really Simple SSL.
Qualche idea su come risolvere il mio errore?

Prima di fornirti il CODICE, lasciami spiegare alcuni punti:
Punto 1:
È meglio consentire solo link https
. Mischiare http
e https
per lo stesso contenuto compromette la sicurezza aggiunta da https
. Con http
, non puoi mai essere sicuro che i tuoi visitatori vedano la stessa pagina che stai fornendo dal tuo server.
Punto 2:
I motori di ricerca considerano i siti http
e https
come siti diversi, anche quando il dominio è lo stesso. Quindi, se non configurato correttamente, potresti incorrere in penalizzazioni per duplicati. Pertanto, è consigliato utilizzare https
completamente per un migliore SEO.
Punto 3:
Anche con il giusto CODICE .htaccess
, potresti ottenere lo stesso errore se l'SSL non è configurato correttamente. Quindi, dopo aver modificato il CODICE .htaccess
, è meglio testare la configurazione SSL rispetto agli standard. Puoi utilizzare strumenti come questo.
CODICE Consigliato:
Basandoci sui punti sopra, ecco il CODICE che puoi utilizzare:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} =off [OR]
RewriteCond %{HTTP_HOST} !^example\.com$
RewriteRule ^(.*)$ "https://example.com/$1" [R=301,L]
# restante codice htaccess mod_rewrite per WordPress
</IfModule>
Questo effettuerà i seguenti reindirizzamenti di esempio:
http://www.example.com/ → https://example.com/
http://www.example.com/abc → https://example.com/abc
https://www.example.com/ → https://example.com/
https://www.example.com/abc → https://example.com/abc
# Inoltre, anche se il tuo sito è raggiungibile tramite IP o
# altri domini o sottodomini, questo CODICE risolverà anche quello
http://Your_Server_IP/abc → https://example.com/abc
http://sub-dmoani.example.com/abc → https://example.com/abc
http://www.other-domain.com/abc → https://example.com/abc
CODICE Non Consigliato:
Se per qualche motivo non vuoi seguire la raccomandazione sopra e vuoi comunque consentire sia http
che https
, puoi utilizzare il seguente CODICE (basato su questa risposta):
<IfModule mod_rewrite.c>
RewriteEngine On
# imposta la variabile del protocollo
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ - [env=proto:https]
RewriteCond %{HTTPS} =off
RewriteRule ^(.*)$ - [env=proto:http]
RewriteCond %{HTTP_HOST} !^example\.com$
RewriteRule ^(.*)$ "%{ENV:proto}://example.com/$1" [R=301,L]
# restante codice htaccess mod_rewrite per WordPress
</IfModule>
Questo effettuerà i seguenti reindirizzamenti di esempio:
http://www.example.com/ → http://example.com/
http://www.example.com/abc → http://example.com/abc
https://www.example.com/ → https://example.com/
https://www.example.com/abc → https://example.com/abc

Grazie. Per me, aggiungere questo a .htaccess non causa alcun cambiamento. Sto cercando di reindirizzare https a http (non abbiamo SSL per ora) e contemporaneamente reindirizzare www a non-www. Sia con htaccess che via php in functions.php. Puoi dare un'occhiata alla mia domanda e vedere se puoi aiutare?https://wordpress.stackexchange.com/questions/286464/php-redirect-https-to-http-and-www-to-non-www
