我想这应该很容易,但我不熟悉它是如何做到的...
如何编写一个before过滤器来检查当前请求是否针对某个子域,如果是,则将其重定向到同一个url但在不同的子域上?
即:blog.myapp.com/posts/1
是好的,但blog.myapp.com/products/123
重定向到www.myapp.com/products/123
。
我在想...
class ApplicationController < ActionController::Base
before_filter :ensure_domain
protected
def ensure_domain
if request.subdomain == 'blog' && controller_name != 'posts'
redirect_to # the same url but at the 'www' subdomain...
end
end
end
你怎么写的重定向?
4条答案
按热度按时间lokaqttq1#
ActionController::重定向#redirect_to允许您传递一个绝对URL,因此最简单的方法是传递一个如下的URL:
wvt8vs2t2#
从一个子域重定向到另一个子域的简单选择如下
这将在域名上调用,例如foo.apple.com将转到www.apple.com
uqcuzwp83#
一个更简单的选项是使用
4zcjmb1e4#
一个简单的解决方案是
示例:
“edv”是我的子域名