Настройка перенаправлений (Nginx)
В данной статье представлены примеры стандартных перенаправлений для сервера Nginx.
Чтобы настроить перенаправления, необходимо добавить соответствующие директивы в файл конфигурации nginx.conf. Если у вас используются виртуальные хосты, вы можете добавить эти директивы в конфигурационный файл соответствующего виртуального хоста. Для создания перенаправления, директивы должны быть добавлены в блок server в файле конфигурации.
Перенаправление на другой домен
В следующем примере выполняется перенаправление на www.new-domain.ru:
server {
#...
rewrite ^ $scheme://www.new-domain.ru;
#...
}
Перенаправление c http на https
server {
#...
if ($scheme = http){
return 301 https://$server_name$request_uri;
}
#...
}
Перенаправление с https на http
server {
#...
server_name
example.ru www.example.ru;
return 301 http://$server_name$request_uri;
#...
}
Перенаправление домена без www на домен с www
server {
#...
if ($host ~* ^[^.]+\.[^.]+$) {
rewrite ^(.*)$ $scheme://www.$host$1 permanent;
}
#...
}
Перенаправление домена с www на домен без www
server {
#...
if ($host ~* www\.(.*)){
set $host_without_www $1;
rewrite ^(.*)$ http://$host_without_www$1 permanent;
}
#...
}
Перенаправление для одной страницы
server
{
#...
if ( $request_filename ~ example_old.html/ ) {
rewrite ^ example_new.html permanent;
}
#...
}
Перенаправление на страницу со слэшем в конце
server {
#...
rewrite ^(.*[^/])$ $1/ permanent;
#...
}
Перенаправление на страницу без слэша в конце
server {
#...
rewrite ^/(.*)/$ /$1 permanent;
#...
}