Назад | Перейти на главную страницу

nginx - переписать URL с косой чертой в конце

У меня есть специальный набор правил перезаписи, чтобы приспособиться к настройке системы управления сайтом mutli. Я пытаюсь заставить nginx использовать косую черту в конце URL-адреса запроса. Я хочу, чтобы он перенаправлял запросы на

domain.com/some-random-article на domain.com/some-random-article/

Я знаю, что здесь есть семантические соображения, но я хотел бы сделать это для целей SEO.

Вот моя текущая конфигурация сервера.

    server {
            listen       80;
            server_name  domain.com mirror.domain.com;
            root /rails_apps/master/public;
            passenger_enabled on;

 # Redirect from www to non-www
       if ($host = 'domain.com' ) {
         rewrite  ^/(.*)$  http://www.domain.com/$1  permanent;
       }

 location /assets/ {
 expires      1y;
   rewrite ^/assets/(.*)$ /assets/$http_host/$1 break;
 }

 # / -> index.html
   if (-f $document_root/cache/$host$uri/index.html) {
     rewrite (.*) /cache/$host$1/index.html break;
   }

 # /about -> /about.html
   if (-f $document_root/cache/$host$uri.html) {
     rewrite (.*) /cache/$host$1.html break;
   }

 # other files
   if (-f $document_root/cache/$host$uri) {
     rewrite (.*) /cache/$host$1 break;
   }

 }

Как мне изменить это, чтобы добавить косую черту в конце? Я предполагаю, что должна быть проверка на косую черту, чтобы вы не закончили с domain.com/some-random-article//

rewrite ^(.*[^/])$ $1/ permanent; # Capture everything not with a trailing slash and add a trailing slash to it.