网站没有打开谷歌搜索http到https



我们有一个网站,我们的域名是dnsimple,服务器是heroku。我们在heroku上配置了所有必要的ssl步骤。dnsimple .

当你在url栏输入这4个url中的任何一个时,它都可以工作。

但问题是,当我在谷歌上搜索my website并点击链接时,它没有打开,特别是与internet explorer &safari。提示404错误。

控制台错误;

ActionController::RoutingError (No route matches "https://www.google.com.tr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwiU0JX39YnQAhWJEiwKHSq2BpQQFggcMAA&url=https%3A%2F%2Fwww.example.com%2F&usg=AFQjCNFg0D1KFk0WGvYOfUoVzNm19KDBYw&bvm=bv.137132246,d.bGg"):

我已经添加了所有4个网站到谷歌搜索控制台作为;

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

已经超过24小时了。对于ie浏览器,我试图删除历史记录并刷新dns配置。还是没有运气。

编辑:

没有作为推荐人的支票。但是有一个代码显示头或不像在应用程序控制器,但我不认为这是相关的;

before_filter :set_locale, :location_action_name
 def location_action_name
    if !logged_in?
      url = Rails.application.routes.recognize_path(request.referrer)
      @last_controller = url[:controller]
      @last_action = url[:action]

    end
  end

EDIT2: 我删除了下面的代码并将其推送到heroku,现在它可以工作了。为什么会这样呢?

这个问题是由以下代码片段引起的:

  url = Rails.application.routes.recognize_path(request.referrer)
  @last_controller = url[:controller]
  @last_action = url[:action]

据我所知(我猜,考虑到recognize_path在最近的Rails版本中被删除),recognize_path在找不到路径的情况下会引发路由错误。

你正在向函数传递任意字符串,但是函数只识别路由器内部描述的路径。

request.referrer将返回3种不同类型的URL:

  1. 空白:当没有参考
  2. 外部URL:当访问者点击其他地方并到达你的应用
  3. 内部URL:当访问者点击应用程序中的某个地方时

在除第三种情况外的所有情况下,recognize_path都会引发错误。该错误将被默认的Rails处理程序捕获并显示为404(在生产环境中,无法识别的路由将导致404)。

我不确定location_action_name应该做什么,但由于它是实现现在它是非常脆弱的,在大多数情况下,它会导致在您的应用程序中导致404响应。

相关内容

  • 没有找到相关文章

最新更新