Nginx-Umleitung mit Schrägstrichen in der URL

Nginx-Umleitung mit Schrägstrichen in der URL

Ich verwende für unsere Marketingbemühungen ein RYO-QR-Code-Verwaltungssystem, indem ich alle QR-Codes in eine bestimmte URL-Struktur einspeise, die ich dann über Nginx an die entsprechenden Standorte weiterleite.

Ich versuche, es mit dieser Struktur einzurichten:

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

wenn ich nginx starte, wird meine Zeile mit dem Servernamen wegen verdächtiger Zeichen aufgerufen. Ist es möglich, Schrägstriche in einem Domänennamen zu verwenden?

Antwort1

Dies basiert auf einer Vermutung, was Sie möchten.

http://mydomain.com/Wenn Sie alle URLs auf umleiten möchten http://myotherdomain.com/, gehen Sie folgendermaßen vor:

server {
    listen 80;
    server_name mydomain.com;

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

Wenn Sie nur auf einen bestimmten Pfad umleiten möchten, können Sie die locationfolgende Anweisung verwenden:

server {
    listen 80;
    server_name mydomain.com;

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

Antwort2

Nein, Schrägstriche sind kein gültiger Bestandteil eines Domänennamens, da sie sonst nicht zur Trennung von Pfaden und dem Protokollteil (http://) einer URL.

Überprüfen Sie, ob die erweiterten Parameter (Regexe) für dieserver_nameKonfigurationsanweisung hilft.

verwandte Informationen