Как сделать несколько перенаправлений с помощью оператора if в nginx [closed]

Итак, мой вопрос наполовину ориентирован на SEO, наполовину технический: У меня есть много ссылок для перенаправления, и вместо того, чтобы делать их одну за другой Я спрашивал себя:

Есть ли способ написать такое правило перезаписи (это чистая выдумка и не может использоваться на nginx)

rewrite /america/(.*)/ http://www.example/nort-america/$1/ permanent;
if 500 rewrite /america/(.*)/ http://www.example/south-america/$1/ permanent;

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

Возможно ли это и, кроме того, подходит ли это для SEO?

2
задан 29 March 2016 в 16:48
1 ответ

Невозможно добиться желаемого только с помощью nginx.

Я бы сделал скрипт на PHP или аналогичном языке, который бы определял, какой редирект отправить браузеру. Если редирект не нужен, то он будет посылать саму страницу.

Вы также можете заставить скрипт попытаться получить альтернативные опции с помощью curl, однако это генерирует ненужный трафик на сайте и замедляет посылку редиректа.

.
1
ответ дан 3 December 2019 в 12:41

Теги

Похожие вопросы