Перенаправление с mydomain.com на версию CamelCase (MyDomain.com) в Rails - PullRequest
0 голосов
/ 29 октября 2011

Я бы хотел переписать URL моего домена, преобразовав www.mydomain.com в www.MyDomain.com (версия для Camel Case).

Я добавилпомощник в моем ApplicationController:

class ApplicationController < ActionController::Base

    before_filter :redirect_to_camel_case_domain

     def redirect_to_camel_case_domain

       if request.host == "localhost"       
         redirect_to request.url.gsub(/localhost/, '127.0.0.1')
         return false
       end
     end
  end

Это прекрасно работает, если я перенаправлю localhost на 127.0.0.1 .

Поскольку строка в request.host находится в нижнем регистре, она попадает в бесконечный цикл, если я перенаправлю localhost в LocalHost
Та же проблема с request.env["HTTP_HOST"].

Я использую heroku, поэтому я не могу использовать .htaccess

Как получить реальный хост запроса, а не его пониженное значение регистра?

1 Ответ

1 голос
/ 29 октября 2011

Доменные имена не чувствительны к регистру и обычно представлены в нижнем регистре. Я думаю, что safari автоматически "строчные буквы" любое имя домена, которое вы вводите, содержащие заглавные буквы. Вот что с вами происходит:

  1. Укажите свой браузер на mydomain.com
  2. Ваш сервер перенаправляется на MyDomain.com
  3. Ваш браузер превращает его в mydomain.com
  4. Вы вернулись к шагу 1

Единственное, что в URL может учитываться регистр, это компонент пути (все после первого /)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...