use*_*717 4 ruby redirect ruby-on-rails http http-headers
我们正在创建一个网站,该网站接收生成的传入链接,并将点击它的用户转发到另一个网站,同时在我们的数据库中保存操作记录.我想这基本上就像AdSense这样的广告服务.
但是,重定向用户的最佳方法是什么?
我认为html-meta-tag-redirects是不可能的.
那么还有其他选择吗?
head :moved_permanently, :location => "http://www.domain.com/"
Run Code Online (Sandbox Code Playgroud)
这个是301重定向.下一个是302:
redirect_to "http://www.domain.com"
Run Code Online (Sandbox Code Playgroud)
还有其他人吗?哪个最适合我们的情况?链接是高度动态的,并且一直在变化.
我们希望确保我们不违反任何现有标准,当然我们不希望搜索引擎将我们标记为垃圾邮件发送者(我们不是,顺便说一下).
谢谢!
从浏览器/最终用户的角度来看
redirect_to "http://www.domain.com"
redirect_to "http://www.domain.com", :status => 302
redirect_to "http://www.domain.com", :status => 301
Run Code Online (Sandbox Code Playgroud)
相当于
head 301, :location => "http://www.domain.com/"
head 302, :location => "http://www.domain.com/"
Run Code Online (Sandbox Code Playgroud)
有一些小的技术差异可能导致一种选择而不是另一种选择.
redirect_to
作为路由体系结构的一部分存在.您可以传递URL选项,该方法会根据应用程序路由规则自动创建最终位置.
redirect_to root_url, :status => 302
redirect_to { :controller => "main", :action => "index" }, :status => 302
Run Code Online (Sandbox Code Playgroud)
相反,它head
是用于处理响应头的低级API.它不关心您传递给响应的标头的含义.当您特别需要使用标头时,它很有用.我不会用它来设置重定向.
归档时间: |
|
查看次数: |
967 次 |
最近记录: |