Redirect tutti gli URL http e https non-www a https://www.example.com tramite htaccess

Per motivi troppo lunghi e complessi per entrare (coinvolge diversi strati di burocrazia aziendale che provoca qualcuno che non acquista un certificato SSL jolly che ho richiesto) devo impostare un dominio per redirect tutte le richieste a https: // www .example.com – protocollo protetto con il sottodominio www .

EDIT: Il certificato SSL è valido solo per il dominio www.xyz.com.

  • Installare e configurare mod_ssl su un'istanza Amazon EC2
  • Come ignorare la directory superiore .htaccess Opzioni?
  • IIS non sta onorando la barra di traccia in un reindirizzamento
  • Come provare a mantenere vivo sta lavorando alla fine del cliente
  • Come interpretare queste regole di riscrittura di htaccess
  • forzare https con apache prima .htpasswd
  • Quindi: http://example.com , http://www.example.com e https://example.com dovrebbero essere tutti reindirizzati a https://www.example.com .

    Il mio .htaccess-fu è debole al meglio e non riesco a far funzionare questo. Nota: l'hosting è sul tempio dei media se questo fa la differenza.

    Finora, il mio file .htaccess sembra così:

     RewriteEngine On RewriteCond %{HTTPS} !^on$ RewriteRule (.*) https://www.example.com/$1 [R,L] RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

    Entrambi http://example.com e http://www.example.com stanno reindirizzando a https://www.example.com , quindi yay. Tuttavia, https://example.com non viene reindirizzato a https://www.example.com e quindi sta lanciando una pagina di avviso di protezione:

    Probabilmente questo non è il sito che stai cercando!
    Hai tentato di raggiungere example.com , ma invece hai effettivamente raggiunto un server che si identifica come www.example.com . Ciò può essere causato da una mancata configuration sul server o da qualcosa di più grave. Un utente malintenzionato sulla tua networking potrebbe cercare di farti visitare una versione falsa (e potenzialmente dannosa) di example.com .
    Non dovresti procedere, soprattutto se non hai mai visto questo avviso prima per questo sito.

    Qualsiasi aiuto per farmi passare da questa ultima gola sarebbe molto apprezzato!

  • Quale software è disponibile per simulare una LAN?
  • Il sito di Sharepoint non è visibile su Internet
  • SuppressDescription Elimina tutte le colonne ma il nome
  • Come funziona TCP Ping o Traceroute?
  • Blocca la port specfic per accedere all'applicazione dall'esterno con l'accesso agli script host host
  • Documentazione dei numbers di port sul piano del piano
  • 5 Solutions collect form web for “Redirect tutti gli URL http e https non-www a https://www.example.com tramite htaccess”

    È necessario un certificato valido sia per example.com che www.example.com se si desidera riscrivere tali richieste a www.example.com (o due certeggi separati che lo eseguono). Non c'è alcun modo per questo.

    @ Simbus82 ha ragione di invertire le regole. Ecco un approccio che è leggermente più universale.

     RewriteEngine On # ensure www. RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # ensure https RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

    Invertire le regole 😉

    sto usando questo e ho avuto il tuo problema

     RewriteEngine On RewriteCond %{HTTP_HOST} ^site.it [NC] RewriteRule (.*) http://www.site.it/$1 [L,R=301] RewriteCond %{SERVER_PORT} ^443$ [OR] RewriteCond %{HTTPS} =on RewriteRule ^(.*)$ http://www.site.it/$1 [R=301,L] 

    Prima riscrivere a www e quindi controllare https.

    Questa è una domanda molto complessa. La maggior parte dei tutorial su Internet ti dirà, come Simbus82, di invertire solo alcune righe di codice all'interno di htacess. Ciò non funziona sempre (specialmente se si dispone di un equipaggiamento SSL offloading di fronte a Apache)

    Hai alcune opzioni per risolvere il problema:

    • Utilizza il servizio http://redirect.name , servizio. Rischio di questa soluzione: a seconda di un terzo. Funziona SOLO per le richieste HTTP reindirizzate a HTTPS, quindi non serve alcuna guida per redirect https://example.com a https://www.example.com
    • Inserisci un record "URL" nel tuo DNS, se il tuo registrar lo support
    • Come ha detto MDMarra, acquista un certificato HTTPS di carattere jolly (o multi-dominio).

    Non posso spiegare perché, ma sembra che il protocollo SSL controlla il problema del certificato di dominio / sottodominio, prima di gestire la richiesta a Apache.

    La mia conoscenza .htaccess è anche debole, ma che dire di una soluzione alternativa?

    Puoi redirect tutti http://example.com a http://example.com/redirect.html e avere un button where possono fare clic? Spiega alla pagina quello che stai facendo.

    Potreste anche rendere che un reindirizzamento temporaneo in JavaScript o qualcosa del genere?

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.