ruby-on-rails - 重定向状态 301 不适用于 heroku
问题描述
我有很多这样的重定向:
# config/routes.rb
get 'pages/teachers_tour', to: redirect('/pages/teachers-tour', status: 301)
即试图让我的网址对谷歌更友好。
这适用于测试和开发模式(尽管我丢失了查询参数)
但是,当我将其投入生产时,我看到一个找不到页面的错误。
我确实在生产中使用了 CDN,但问题也出现在没有 CDN 的登台上。我能够使用 CDN (Cloudflare) 在生产中临时解决这个问题。
如何永久解决此问题?有没有办法更改 url 名称以便传输查询参数?
解决方案
i.e trying to have my urls more google friendly.
如果只是出于这个原因,我会建议您使用as
而不是重定向。它只是改变显示的 slug。
编辑更清楚:
get 'pages/teachers_tour', as: 'teachers-tour', to: "pages#teachers_tour"
我想这也将解决您的参数问题。
推荐阅读
- airflow - 气流中的自动缩放任务
- angular - CORS 策略已阻止从源访问 API 方法
- python - 如何在函数 zip 或 Json 中写下所有答案?
- c++ - 如何在 ubuntu 18.04 [collect2: error: ld returned 1 exit status] 上解决这个问题?
- c# - closedxml.report中的纵横表组合
- javascript - 反转用户字符串输入但没有任何反应
- facebook - 仅向具有 facebook 会话的访问者显示 facebook 客户聊天插件的任何方式
- python - Chrome 的 Selenium webdriver 不发送 char(94) 或“^”符号
- html - 有没有办法使用选项 `:body-only t` 更改 org-mode 源代码背景颜色?
- c++ - C ++ 11中访问std :: vector中元素n的指针的标准方法是什么?