Soporte » Guías – Resolución de problemas » Como trasformar mi .htaccess a Nginx

  • Resuelto juant82

    (@juant82)


    Buenas a todos,

    Mi fichero .htaccess no me funciona en mi nuevo servidor y me dijeron que el motivo era porque utiliza nginx.

    Alguien me podría decir como pasar este archivo .htacess a versión nginx?

    .htaccess:

    RewriteEngine On.
    
    RewriteCond %{HTTP_REFERER} !^http://(www.)?paginawebexemplo.com/ [NC]
    
    RewriteCond %{REQUEST_URI} !hotlink.(gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx|mp4|mov|pptx) [NC]
    
    RewriteCond %{HTTP_COOKIE} !^.wordpress_logged_in.$ [NC]
    
    RewriteRule .*.(gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx|mp4|mov|pptx)$ http://paginawebexemplo.com/ [NC]

    El objetivo seria que solo los usuarios de mi wordpress pudieran acceder en la carepta /upload. El codigo funciona en un .htaccess pero nginx ya no.

    Muchas gracias.

Viendo 6 respuestas - de la 1 a la 6 (de un total de 6)
  • Hola @juant82,

    Puedes probar este convertidor online: https://winginx.com/en/htaccess

    Si se resuelve tu problema, por favor, recuerda marcar este debate como resuelto para ayudar a mantener el foro organizado. Gracias.

    Saludos.

    juant82

    (@juant82)

    Muchas gracias por la respuesta.

    he realizado la prueba y el resultado es este:

    # nginx configuration by winginx.com

    location ~* hotlink.(gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx|mp4|mov|pptx) {
    }
    
    location / {
      if ($http_referer !~ "^http://(www.)?paginawebexemplo.com/"){
        rewrite .*.(gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx|mp4|mov|pptx)$ http://paginawebexemplo.com/ redirect;
      }
    }

    pero creo que no detecta esto » RewriteCond %{HTTP_COOKIE} !^.wordpress_logged_in.$ [NC] » y no lo transforma.

    Hola @juant82,

    Tienes que tener en cuenta que estos convertidores no son 100% fiables, pero puedes complementarlos con la información que facilitan en nginx.com: https://www.nginx.com/blog/converting-apache-to-nginx-rewrite-rules/

    Prueba el siguiente código que he obtenido con este otro convertidor: https://timmehosting.de/htaccess-converter

    if ($http_referer !~* "^http://(www.)?paginawebexemplo.com/"){
    	set $rule_0 1$rule_0;
    }
    if ($uri !~* "hotlink.(gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx|mp4|mov|pptx)"){
    	set $rule_0 2$rule_0;
    }
    if ($http_cookie !~* "^.wordpress_logged_in.$"){
    	set $rule_0 3$rule_0;
    }
    if ($rule_0 = "321"){
    	rewrite /.*.(gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx|mp4|mov|pptx)$ http://paginawebexemplo.com/ ;
    }

    Saludos.

    juant82

    (@juant82)

    Gracias por la respuesta de nuevo.

    No funciona! No se si es correcto lo que estoy realizando pero estoy utilizando el mismo .htaccess de la carpeta wp-content pero con el codigo de nginx.

    El fichero se guarda como .htaccess pero con la reglas de nginx o se tendria de decir otro nombre?

    juant82

    (@juant82)

    el fichero con nombre nginx.conf en la raiz jeje

    Hola @juant82,

    Sí, así es… El archivo debe llamarse nginx.conf.

    Si ya has solucionado el problema, por favor, recuerda marcar este debate como resuelto para ayudar a mantener el foro organizado. Gracias.

    Saludos.

Viendo 6 respuestas - de la 1 a la 6 (de un total de 6)
  • El debate ‘Como trasformar mi .htaccess a Nginx’ está cerrado a nuevas respuestas.