Постоянное перенаправление Nginx 301 для языковой поддержки - PullRequest
0 голосов
/ 27 мая 2019

Сейчас я включаю языковую поддержку для своего веб-сайта.Я включаю язык как часть URL.Например: domain.com/en/page Мне нужно настроить 301 переадресацию для существующей индексации поисковой системы.

В Nginx работает следующее для перенаправления с domain.com / blog до domain.com / ru / blog

location = /blog {
    return 301 /en/blog;
}

Я не понимаю, какое перенаправление необходимо было перейти с domain.com/blog/read/# на domain.com/en/blog/read/# (где # - поле последовательности в таблице базы данных postgres)

Я потратил время на поиск, поиск и чтение документов, чтобы найти этот ответ самостоятельно.Я не понимаю.

1 Ответ

1 голос
/ 27 мая 2019

Для префикса существующего запрошенного URI с /en вы можете использовать:

return 301 /en$request_uri;

Выше будут добавлены три символа перед существующим запросом, а также будут включены любые аргументы, которые могут присутствовать.

Чтобы сопоставить любой URI, начинающийся с /blog, используйте location /blog { ... }. Чтобы сопоставить любой URI, начинающийся с /blog/read/, используйте location /blog/read/ { ... }.

Nginx выбирает место для обработки запроса на основе набора правил . Итак, вам нужно будет рассмотреть другие location блоки, присутствующие в вашей конфигурации.

...