http to https reindirizzamento di apache

Centros Ambiente con apache

Cercando di impostare il reindirizzamento automatico da http a https

From manage.mydomain.com --- To ---> https://manage.mydomain.com 

Ho provato ad aggiungere quanto segue al mio httpd.conf ma non ha funzionato

  RewriteEngine on ReWriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] 

Qualche idea?

In realtà ho seguito questo esempio e ha funzionato per me 🙂

 NameVirtualHost *:80  ServerName mysite.example.com DocumentRoot /usr/local/apache2/htdocs Redirect permanent / https://mysite.example.com/   ServerName mysite.example.com DocumentRoot /usr/local/apache2/htdocs SSLEngine On # etc...  

Quindi fa:

/etc/init.d/httpd restart

 RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} 

http://www.sslshopper.com/apache-redirect-http-to-https.html

o

http://www.cyberciti.biz/tips/howto-apache-force-https-secure-connections.html

Ho cercato apache redirect http to https e sono arrivato qui. Questo è quello che ho fatto su Ubuntu:

1) Abilita moduli

 sudo a2enmod rewrite sudo a2enmod ssl 

2) Modifica la configurazione del tuo sito

Modifica il file

 /etc/apache2/sites-available/000-default.conf 

Il contenuto dovrebbe essere:

  RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}   SSLEngine on SSLCertificateFile  SSLCertificateKeyFile  # Rest of your site config # ...  
  • Si noti che il modulo SSL richiede un certificato. dovrai specificare quello esistente (se ne hai acquistato uno) o generare da solo un certificato autofirmato .

3) Riavvia apache2

 sudo service apache2 restart 

In realtà, il tuo argomento appartiene a https://serverfault.com/ ma puoi ancora provare a controllare queste direttive .htaccess :

 RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*) https://%{HTTP_HOST}/$1 

L’utilizzo di mod_rewrite non è il metodo consigliato, ma utilizza l’host virtuale e il reindirizzamento.

Nel caso, se sei incline a usare mod_rewrite:

 RewriteEngine On # This will enable the Rewrite capabilities RewriteCond %{HTTPS} !=on # This checks to make sure the connection is not already HTTPS RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] # This rule will redirect users from their original location, to the same location but using HTTPS. # ie http://www.example.com/foo/ to https://www.example.com/foo/ # The leading slash is made optional so that this will work either in # httpd.conf or .htaccess context 

Riferimento: Httpd Wiki – RewriteHTTPToHTTPS

Se stai cercando un reindirizzamento permanente 301, il flag di reindirizzamento dovrebbe essere come,

  R=301 

quindi il RewriteRule sarà come,

 RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L] 

Questo ha funzionato per me:

 RewriteCond %{HTTPS} =off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L,R=301] 

Questo codice funziona per me.

 # ----------port 80---------- RewriteEngine on # redirect http non-www to https www RewriteCond %{HTTPS} off RewriteCond %{SERVER_NAME} =example.com RewriteRule ^ https://www.%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent] # redirect http www to https www RewriteCond %{HTTPS} off RewriteCond %{SERVER_NAME} =www.example.com RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent] 

 # ----------port 443---------- RewriteEngine on # redirect https non-www to https www RewriteCond %{SERVER_NAME} !^www\.(.*)$ [NC] RewriteRule ^ https://www.%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent] 

Se hai Apache2.4 verifica 000-default.conf – rimuovi DocumentRoot e aggiungi

 Redirect permanent / https://[your-domain]/