www siteground redireccionar only non htaccess force all http .htaccess redirect https

siteground - http a https a través de.htaccess



redirect http to https (10)

Agregue el siguiente código en el archivo .htaccess.

RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

cambiar example.com con el dominio de su sitio web

El tutorial de redireccionamiento de URL se puede encontrar desde aquí: redirigir no www a www y HTTP a HTTPS con el archivo .htaccess

He echado un vistazo a las preguntas existentes, pero realmente no he encontrado nada que me sirva.

Actualmente estoy ejecutando un sitio con un certificado SSL seguro. Se puede acceder a https://www.example.co.uk. El problema es que también se puede acceder al sitio en http://www.example.co.uk . No quiero que esto sea posible. Lo necesito para redireccionar de http a https.

Encontré este fragmento de código para usar en un archivo .htaccess.

Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^example.co.uk [NC] RewriteRule ^(.*)$ https://example.co.uk/$1 [L,R=301]

Esto funciona bien cuando el usuario ingresa example.co.uk en su barra de direcciones, pero también necesito agregar una declaración condicional de algún tipo para que el usuario ingrese ''www.example.co.uk'' o '' http: // www.example.co.uk ''.

Intenté usar los gustos de [OR], pero esto termina creando errores en el servidor.

Cualquier ayuda y sugerencia es apreciada.

Aclamaciones.


Hay formas mejores y más seguras de asegurarse de que todo su tráfico supere https . Por ejemplo, configurar dos hosts virtuales y redirigir todo el tráfico de su http a su host https . Lea más sobre esto en esta respuesta aquí en security.stackexchange.com .

Con la configuración de un host virtual para redirigir puede enviar un estado 301 (redirigir permanentemente) para que el navegador entienda que todas las siguientes solicitudes se deben enviar al servidor https al que se redirigió. Por lo tanto, no se realizarán más solicitudes de http después de la primera respuesta de redirección.

También debe verificar cuidadosamente las respuestas dadas porque con las reglas de reescritura incorrectas puede perder los parámetros de consulta de sus solicitudes entrantes.


Intento todo el código anterior pero cualquier código no funciona para mi sitio web. Luego pruebo este código y este código funciona perfectamente para mi sitio web. Puede usar la siguiente Regla en htaccess:

<IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine On //Redirect http to https RewriteCond %{SERVER_PORT} 80 RewriteCond %{HTTP_HOST} ^(www/.)?example/.com RewriteRule ^(.*)$ https://www.example.com/$1 [R,L] //Redirect non-www to www RewriteCond %{HTTP_HOST} ^example.com [NC] RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301] </IfModule>

Cambie example.com con su nombre de dominio y lo siento por mi inglés pobre.



Para redirigir http://example.com o http://www.example.com a https://www.example.com de una manera sencilla, puede usar la siguiente Regla en htaccess:

RewriteEngine on RewriteCond %{HTTPS} off RewriteCond www.%{HTTP_HOST} ^(?:www/.)?(www/..+)$ [NC] RewriteRule ^ https://%1%{REQUEST_URI} [NE,L,R]

[Probado]

La variable % {REQUEST_SCHEME} está disponible desde apache 2.4, esta variable contiene el valor del esquema solicitado (http o https), en apache 2.4 puede usar la siguiente regla:

RewriteEngine on RewriteCond %{REQUEST_SCHEME} ^http$ RewriteCond %{HTTP_HOST} ^(www/.)?(.+)$ [NC] RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R]


Prueba esto, lo usé y funciona bien

Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}



Pruebe lo siguiente:

RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

Además, también puede redireccionar según el número de puerto, por ejemplo:

RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Esto redirigirá todas las solicitudes recibidas en el puerto 80 a HTTPS.


Si desea redireccionar HTTP a HTTPS y desea agregar www con cada URL, use el htaccess a continuación

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

primero redirigirá HTTP a HTTPS y luego se redirigirá a www.


# Switch rewrite engine off in case this was installed under HostPay. RewriteEngine Off SetEnv DEFAULT_PHP_VERSION 7 DirectoryIndex index.cgi index.php # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index/.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress # RewriteCond %{HTTP_HOST} ^compasscommunity.co.uk/.com$ [NC] # RewriteRule ^(.*)$ https://www.compasscommunity.co.uk/$1 [L,R=301]