• Ruby on Rails

    Канонизация URL в Ruby on Rails проекте

    Как для всего Rails проекта убрать концевые "/" и поставить 301-е редиректы на правильные URL без "/"?

    1. Установить gem в Gemfile:

    gem 'rack-rewrite'

    2. В файле config/application.rb указать:

    config.middleware.insert_before(Rack::Runtime, Rack::Rewrite) do
      r301 %25r{^/(.*)/$}, '/$1'
    end

    3. Выпить чашечку кофе, наблюдая за неизменно превосходным результатом

    Опубликовано: Категория: Ruby on RailsКомментарии: 3

    Комментарии (оставить комментарий)

    Комментарий
    Алексей

    А какой смысл делать это на уровне приложение, когда это удобней сделать на уровне сервера, причем, это можно сделать для всех приложение сразу, крутящихся на сервере?

    В чем профит указанного gem'а?

    Ответить

    26.04.2013

    Комментарий
    Леонид

    Алексей! Напишите, пожалуйста, как Вы предлагаете делать это на уровне сервера?

    Ответить

    26.04.2013

    Комментарий
    Игорь

    Пример конфига для Nginx. Я думаю, что примерно то же самое можно найти и для Apache.

    server {
    # Redirect spaceship.dev.jetrockets.ru/path/ to spaceship.dev.jetrockets.ru/path
    rewrite ^/(.*)/$ /$1 permanent;
    }

    Ответить

    15.06.2013

    Оставьте свой комментарий

    Ваше имя: Email: Оставьте свой email, если хотите получать уведомления о комментариях на этой странице. Ваш email не будет опубликован на сайте.