Redirecting with Nginx: A Comprehensive Guide
Redirect в Nginx - это механизм перенаправления HTTP запросов с одного URL на другой URL, в соответствии с заданными условиями. Наиболее распространенными применениями являются перенаправление с не защищенного HTTP на защищенный HTTPS, перенаправление с устаревших URL на новые версии и управление URL для SEO-оптимизации.
Для создания redirect в Nginx можно использовать директиву "rewrite". Например, перенаправление с HTTP на HTTPS может быть выполнено следующим образом:
server {
listen 80;
server_name example.com;
return 301 https://$server_name$request_uri;
}
В этом примере, каждый HTTP запрос к серверу будет перенаправлен на HTTPS версию с тем же URL-адресом.
Перенаправления по сопоставлению регулярного выражения также могут быть использованы для менее простых случаев. Например, для перенаправления всех запросов с http://example.com/old-url/* на http://example.com/new-url/* можно использовать следующую конфигурацию:
location /old-url {
rewrite ^(/old-url)(.*)$ http://example.com/new-url$2 permanent;
}
При этом, все запросы начинающиеся с /old-url будут перенаправлены на новые URL, изменив адрес на /new-url.
Конечно, это не полный список возможностей для redirect в Nginx, но это наиболее распространенные примеры. Они могут быть дополнены с использованием более мощной системы сопоставления URL-адресов и регулярных выражений, а также доступны другие параметры и директивы, которые позволяют более гибко управлять перенаправлениями в Nginx.