我想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
如何获得请求的真实主机,而不是降低案例值?
答案 0 :(得分:1)
域名全部不区分大小写,通常表示为小写。我认为safari会自动“降低”您输入的包含大写字母的域名。所以这就是你发生的事情:
只认为URL中可以区分大小写的是路径组件(第一个/之后的所有内容)