nginx перенаправление с косыми чертами в URL

nginx перенаправление с косыми чертами в URL

Я создаю систему управления QR-кодами RYO для наших маркетинговых начинаний, размещая все QR-коды на определенной структуре URL, которые я затем буду пересылать через nginx в указанные места.

Я пытаюсь настроить эту структуру:

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

при запуске nginx моя строка с именем сервера вызывается из-за подозрительных символов. Можно ли использовать слеши в доменном имени?

решение1

Это основано на предположении, чего вы хотите.

Если вы хотите перенаправить все http://mydomain.com/URL-адреса на http://myotherdomain.com/, вам следует сделать это следующим образом:

server {
    listen 80;
    server_name mydomain.com;

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

Если вы хотите перенаправить только по определенному пути, вы можете использовать директиву location:

server {
    listen 80;
    server_name mydomain.com;

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

решение2

Нет, слеши не являются допустимой частью доменного имени или не могут использоваться для разделения путей и части протокола (http://) URL-адреса.

Посмотрите, есть ли расширенные параметры (регулярные выражения) дляserver_nameпомогает оператор конфигурации.

Связанный контент