Редирект в NGINX
Есть путь до страницы site.ru/krasivie-jenskie-trusi/ (Таких страниц много). Хочу сделать так что бы ссылка приняла вид site.ru/trusiki/
Я пробовал:
location /krasivie-jenskie-trusi/ {
return 301 /trusiki/;
}
Перекидывает на /trusiki/, но мне пишет что страница не найдена 404.
Так же пробовал:
rewrite /krasivie-jenskie-trusi/ /trusiki/ permanent;
Эффект тот же.
Как сделать так что бы я мог прописать в строке браузера site.ru/trusiki/ и меня бы перекинуло бы на страницу /krasivie-jenskie-trusi/, но в браузере он всё равно бы отображал бы при этом /trusiki/ ?
Ответы (2 шт):
В первой части должна быть регулярка. Попробуйте
rewrite ^/krasivie-jenskie-trusi?$ /trusiki break;
Вы не совсем понимаете как работает реврайт и редирект. Сначала указывается на какой URL должно среагировать правило, а потом указывается, грубо говоря, какой файл на сервере надо для этого показать. Это будет реврайт.
Если же нужно перенаправить пользователя на другую страницу на этом же сайте или же на другой сайт, то для этого используется редирект. И снова сначала указывается на какой URL должно среагировать правило, а потом указаывается URL куда нужно перенаправить пользователя.
Т.е. в вашем случае условие и направление перепутаны местами.