Я уверен, что об этом уже спрашивали, но я не могу найти решение, которое работает.
Веб-сайт переключил службы CMS, но имеет тот же домен, как мне настроить перезапись nginx для одной страницы?
Например
Старая страница
http://sitedomain.co.uk/content/unique-page-name
Новая страница
http://sitedomain.co.uk/new-name/unique-page-name
Пожалуйста , обратите внимание , я не хочу, чтобы все содержимое страницы перенаправлялось, а просто URL, упомянутый выше. У меня есть около 9 переадресаций, которые не соответствуют шаблону.
Спасибо!
Изменить: я нашел это решение, которое, кажется, работает, за исключением того факта, что оно перенаправляет без косой черты:
if ( $request_filename ~ content/unique-page-name/ ) {
rewrite ^ http://sitedomain.co.uk/new-name/unique-page-name/? permanent;
}
Но это перенаправляет на:
http://sitedomain.co.uknew-name/unique-page-name/
if
операторов в nginx - это плохо? Будет ли это все же лучше, чем использование метода перезаписи?if
вместе с директивой возврата вполне нормально. Смотрите wiki.nginx.org/IfIsEvil . Да, ИМО, это лучше, чем использовать переписать.В идеале вы не должны использовать операторы if, если можете этого избежать. Нечто подобное может работать (не проверено).
источник
Я использовал следующее решение:
Работает угощение.
источник
Для меня это работало без знака равенства, как это:
источник
rewrite
. Смотрите ответ @ SteveEdison.