Tabla de contenidos

Introducción

Configurar una redireccion 301 en nginx es una tarea sencilla que nos puede evitar penalizaciones en seo y perder posicionamiento en los buscadores. Esto es bastante importanse si queremos cambiar de dominio, o hemos cambiado la estructura de enlaces de nuestra web.

Es muy sencillo de hacer, tan solo debemos editar nuestro fichero de configuracion de nginx del sitio web (en este caso dominio.com):

nano /etc/nginx/sites-enabled/dominio_com

Redireccionar de http://dominio.com y http://www.dominio.com a https://www.dominio.com

Por ejemplo, para redireccionar siempre a la version https de www.dominio.com:

server {
    listen 443 ssl;
    server_name www.dominio.com;
    # Aqui tenemos la configuracion de nginx de nuestro sitio
}

server {
    listen 443 ssl;
    server_name dominio.com;
    return 301 https://www.dominio.com$request_uri;
}


server {
    listen 80;
    server_name dominio.com www.dominio.com;
    return 301 https://www.dominio.com$request_uri;
}

En el primer bloque se define la configuracion de nuestro sitio web con su root, access_log, error_log y demas cosas.

En el segundo bloque se fuerza a que todos los accesos a la version segura de dominio.com (https://dominio.com), se redirigen a la version segura de https (https://www.dominio.com)

En el tercer bloque, se obliga a que todos los accesos mediante http (no seguro) se redirigan a https://www.dominio.com

Redireccionar de http://dominio.com y http://www.dominio.com a https://dominio.com

Si queremos hacer el caso contrario, redireccionar siempre a la version https dominio.com, se hace de manera tambien muy sencilla:

server {
    listen 443 ssl;
    server_name dominio.com;
    # Aqui tenemos la configuracion de nginx de nuestro sitio
}

server {
    listen 443 ssl;
    server_name www.dominio.com;
    return 301 https://dominio.com$request_uri;
}

server {
    listen 80;
    server_name dominio.com www.dominio.com;
    return 301 https://dominio.com$request_uri;
}

En el primer bloque se define la configuracion de nuestro sitio web con su configuracion habitual.

En el segundo bloque se fuerza a que todos los accesos a la version segura de www.dominio.com (https://www.dominio.com), se redirigen a la version segura de https sin www(https://dominio.com)

En el tercer bloque, se obliga a que todos los accesos mediante http (no seguro) se redirigan a https://dominio.com