Redirección de nginx con barras diagonales en la URL

Redirección de nginx con barras diagonales en la URL

Estoy creando un sistema de administración de códigos QR de RYO para nuestros esfuerzos de marketing al hacer que todos los códigos QR lleguen a una estructura de URL designada que luego reenviaré a través de nginx a sus ubicaciones designadas.

Estoy intentando configurar con esta estructura:

server {
      listen 80;
      server_name mydomain.com/c/m/b/1;
      return 301 $scheme://myotherdomain.com$request_uri;
}

Cuando inicio nginx, mi línea con el nombre del servidor aparece porque tiene caracteres sospechosos. ¿Es posible utilizar barras diagonales en un nombre de dominio?

Respuesta1

Esto se basa en una suposición de lo que podría desear.

Si desea redirigir todas http://mydomain.com/las URL a http://myotherdomain.com/, debe hacerlo así:

server {
    listen 80;
    server_name mydomain.com;

    rewrite ^ http://myotherdomain.com$request_uri permanent;
}

Si desea redirigir solo en alguna ruta, puede usar la locationdirectiva:

server {
    listen 80;
    server_name mydomain.com;

    location /c {
        rewrite ^ http://myotherdomain.com$request_uri permanent;
    }
}

Respuesta2

No, las barras diagonales no son una parte válida de un nombre de dominio o no se pueden usar para separar las rutas y la parte del protocolo (http://) de una URL.

Vea si los parámetros extendidos (regex) para elserver_nameLa declaración de configuración ayuda.

información relacionada