Nginx перенаправить в другое место с частью заголовка запроса - PullRequest
1 голос
/ 09 июня 2019

Я хочу перенаправить определенные запросы в другое место, но с частью заголовка запроса, например: https://example.com/something/value ---> https://example.com/something/index.php?var=value

псевдокод:

location ^~ /something/$value {
    return 301 https://$host/something/index.php?var=$value;
}

1 Ответ

1 голос
/ 10 июня 2019

location должен соответствовать только той части URI, которая является постоянной.Если /something/index.php и /something/value имеют одинаковый префикс, вы не хотите использовать модификатор ^~, иначе файл PHP не будет найден.Подробнее см. в этом документе .

Используйте rewrite для захвата части значения "URI" и добавления ее в качестве аргумента.

Например:

location /something/ {
    rewrite ^/something/(.*)$ /something/index.php?var=$1 last;
}

Если вы хотите внешнее перенаправление, используйте rewrite...permanent вместо rewrite...last.Подробнее см. в этом документе .

...