ITblog.by » Статьи » Nginx rewrite: убрать слеш в конце url

Nginx rewrite: убрать слеш в конце url


По роду деятельности часто встречаюсь с seo специалистами (и не очень), которые просят сделать разного рода перенаправления. Собственно вот один из способов удаления конечных слешей в url с организацией перенаправления с 301 редиректом.

 

Вариант для nginx + fcgi-php

location / {
 try_files        $uri /index.php$uri?$args;
 rewrite ^/(.*)/$ /$1 permanent;
}

Вариант для nginx + apache + mod_php

location / {
   location ~* \/(.*)/$ {
      rewrite ^/(.*)/$ /$1 permanent;
   }
   proxy_pass http://backend:80;
}

Все это дело добавляется в начало секции для определенного виртуального хоста.

 

При необходимости организации перенаправления с www домена на домен без www, то просто добавляем в конфиг nginx.conf:

server {
   listen       1.1.1.1:80;  
   server_name  www.site.by;    
     rewrite ^(.*) http://site.by$1 permanent;
}

* Шпаргалка для самого себя. Чтобы не забыть :)

  • Теги: nginx

Rating All.BY Анализ сайта ITblog.by