我的应用程序有面向用户和面向公众的页面,可以通过不同的子域user.example.com和public.example.com进行访问
我有一个user.example.com的ssl证书,当用户通过https进来时,一切都很好。
我知道如何重定向到我的应用程序使用的任何域名的https,但不是特定的域名。
但是,如果有人进入http://user.example.com,我想重定向到https://user.example.com,而不是为他们可能进入的其他子域(或多个域名)做任何特殊的重定向。
在rails中,有没有一种方法可以将来自某个特定子域的所有请求重定向到https?
发布于 2011-07-13 11:27:03
最好的地方是你的web服务器(例如Apache,nginx等)。配置。如果你没有权限访问它,那么用ApplicationController编写一个与request.host和request.ssl?进行比较的before_filter,例如:
def redirect_user_subdomain_to_https
if 'user.example.com' == request.host && !request.ssl?
redirect_to request.url.gsub(/^http/, 'https')
return false
end
endhttps://stackoverflow.com/questions/6656014
复制相似问题