我想学习如何清理我的应用程序的URL.我的应用程序由Heroku上的Rails 3提供支持.

所需的URL为https://www.example.comite.com

我想将所有不同于上述URL的URL重定向到该URL.这是Rails还是DNS?

坏网址:

https://example.comite.com
http://www.example.comite.com
http://example.comite.com

如果后面有任何内容,比如http://www.example.comite.com/photo/1,则url将被重定向为路径https://www.example.comite.com/photo/1

推荐答案

DNS记录无法定义域的协议,因此无法通过DNS将http://重定向到https://.通过web服务器配置来实现这一点是不可移植的、很难做到的、容易出错的,而且完全过时了.这项工作最好由Rails路由处理.

# beginning of routes.rb 
match "*path" => redirect("https://www.mysite.com/%{path}"), :constraints => { :protocol => "http://" }
match "*path" => redirect("https://www.mysite.com/%{path}"), :constraints => { :subdomain => "" }

Ruby-on-rails相关问答推荐

form_with正在try 用错误的路径生成操作

无法安装Ruby错误运行';__rvm_make-J4';,

刺激中的Rails 7和 bootstrap 错误-无法解析模块说明符 bootstrap

Rails + Turbo_stream自定义操作:我可以在没有Stimulus的情况下根据DOM状态做出有条件的响应吗?

Ruby on Rails 身份验证:设计注册不起作用

CanCanCan、Pagy 和 Meil​​iSearch,如何组合这 3 个 gem?

在bash中匹配带有空格字符的字符串

Rails 4 中的 null_session 和 reset_session 有什么区别?

Rails 3 的data-method='delete'如何优雅地降级?

attr_accessible(*attributes) 和 attr_protected(*attributes) 有什么区别?

Factory Girl + Mongoid 在fixture 中嵌入文档

有没有办法在 Rails 3.1 中检测用户代理

如何在 Ruby 字符串中返回最后一个斜杠(/)之后的所有内容

设计:手动加密密码并直接存储

如何在两个日期之间生成随机日期和时间?

如何解决弃用警告方法 to_hash 已弃用并将在 Rails 5.1 中删除

Rails:使用 link_to 创建不带 href 的链接

如何在同一个 Rails 控制器操作中处理多个 HTTP 方法

在 Rails 中命名布尔列

如何在rails中正确使用单选按钮?