www redireccionar only non htaccess force example domain another apache .htaccess redirect ssl

redireccionar - Apache redirecciona http a https y www a no www



redireccionar http a https htaccess (6)

Mira esto:

RewriteEngine On RewriteCond %{HTTP_HOST}#%{HTTPS}s ^www/.([^#]+)#(?:off|on(s)) [NC] RewriteRule ^ http%2://%1%{REQUEST_URI} [R=301,L] RewriteCond %{HTTPS} !=on RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

básicamente lo que quiero es redirigir la solicitud al uso de HTTPS en lugar de http

Tengo esto en mi htaccess hasta ahora y funcionó muy bien: Código:

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} </ifModule>

hoy alguien notó que al ir a: http://www.example.com , redirige y muestra una conexión no segura.

Mi ssl está configurado para un dominio no www: mydomain.com

Así que necesito asegurarme de que todas las solicitudes del sitio se envíen a no www y https: funciona bien si pongo example.com redirige a https://example.com

pero con www.example.com va a htts: //www.example.com y muestra el error

¿Qué necesito agregar a mi código para redirigir www a non www y luego a ssl?


Puede obtener lo que necesita de HTTP_HOST

RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^(?:www/.)?(.*)$ [NC] RewriteRule (.*) https://%1%{REQUEST_URI} [L,R=301]

De esta manera obtendrá el host siempre sin el subdominio.


Si está utilizando la cuenta gratuita de CloudFlare, ese es el problema. La cuenta gratuita de CloudFlare NO admite certificados SSL. Para continuar usando la cuenta gratuita de CloudFlare con un certificado SSL, simplemente vaya a la configuración de DNS en CloudFlare y saque la nube naranja de su dominio y de la WWW cname. Eso solucionará su problema y hará que tanto www como non-www sean redirigidos a https.

También asegúrese de agregar este código a su archivo .htaccess:

RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Entonces, ¡todo debería funcionar!


Tendrá que volver a emitir su certificado para www y sin www.

Si alguien se conecta a su sitio a través de un nombre de dominio que no está incluido en su nombre común, recibirá una advertencia.

El proceso de negociación ssl ocurre antes de cualquier respuesta del servidor (en su caso, una redirección), por lo que en todos los casos, sus visitantes recibirán una advertencia cuando usen un dominio que no está en su nombre común.


RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://domain.com%{REQUEST_URI} [L,R=301,NC] RewriteCond %{HTTP_HOST} ^www.domain.com [NC] RewriteRule (.*) https://domain.com%{REQUEST_URI} [L,R=301,NC]


RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^(?:www/.)?(.*)$ [NC] RewriteRule (.*) https://www.%1%{REQUEST_URI} [L,R=301]