Nginx - как изменить URL в адресной строке?


Помогите решить задачу.
Хочу сделать красивый короткий адрес в строке браузера и скрыть /blog/post/
Файлы расположены в /blog/post/ их я двигать не буду.
Например вместо:
https://site.com/blog/post/world.html
https://site.com/world.html
location / {
       if ($query_string ~ "^$"){
       rewrite ^/blog/post/world\.html$ /world.html? break;
    }
}

Вероятно rewrite не подходящий вариант, в общем не знаю как реализовать.

location = /world.html {
            rewrite .* /blog/post/world.html break;
        }
      
        
        location = /blog/post/world.html {
            return 301 /world.html ;
        }

Ответы (1 шт):

Автор решения: Aleksey Vaganov

После сабмита ваше приложение должно направить пользователя на адрес /wordld.html.

А в nginx добавьте rewrite:

location = /world.html {
    rewrite .* /blog/post/world.html last;
}

Таким образом в браузере будет адрес /wordld.html,

а фактически будет отдаваться файл, размещенный по пути: /var/www/site.com/blog/post/world.html

конечно же при условии что вы указали root /var/www/site.com

→ Ссылка