NGINX - настройка под SEO (убираем последние слеши, делаем redirect на страницы с lowercase)

1. redirect на страницы с lowercase

Устанавливаем модуль для компиляции скрипта nginx:
apt-get install nginx-extras
Пишем функцию для преобразования в нижний регистр в файле /etc/nginx/nginx.conf:

http {

    ##
# Perl-function uri_lowercase
##
    
    perl_set $uri_lowercase 'sub {
    my $r = shift;
    my $uri = $r->uri;
    $uri = lc($uri);
    return $uri;
    }';
}

В файле /etc/nginx/sites-available/default настраиваем redirect статусом 301:

location ~ [A-Z] {
        return 301 $scheme://$http_host$uri_lowercase;
 }

2. Убираем последние слеши

С учетом варианта из п.1 допишем функцию следующим образом:

http {

    ##
# Perl-function uri_lowercase
##
    
    perl_set $uri_lowercase 'sub {
    my $r = shift;
    my $uri = $r->uri;
    $uri = lc($uri);
    $uri = $1 if($uri=~/(.*)\/$/);
    return $uri;
    }';
}
Напишем условия для всех остальных страниц в файле  /etc/nginx/sites-available/default :

server {
...
rewrite ^/(.*)/$ /$1 permanent;
..
}

Комментарии

Популярные сообщения