私たちはウェブサイトを持っており、ドメインはdnsimpleにあり、サーバーは英雄です。私たちはheroku & dnsimpleの両方でsslを使用して必要な手順をすべて設定しました。ウェブサイトが開かれていないGoogle検索のHTTPをhttpsに送信
これらの4つのURLのいずれかを入力すると、URLバーに機能します。
しかし、Googleでmy website
と検索してリンクをクリックすると、特にインターネットエクスプローラ& 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"):
Google検索コンソールに4つのウェブサイトをすべて追加しました。
https://www.example.com
https://example.com
http://www.example.com
http://example.com
これは24時間以上経過しています。 Internet Explorerの場合、履歴を削除してdns configをフラッシュしようとしました。まだ運がありません。
編集: リファラーとしてのチェックはありません。しかし、ヘッダーを表示するか、アプリケーションコントローラーのように表示するコードがありますが、これは関係ないと思います。
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のにプッシュ。しかし、それはなぜですか? recognize_path
それができる場合には、ルーティングエラーが発生します(Railsの最近のバージョンでrecognize_path
was removedがことを考えると、私は推測する、)私が覚えている限りでは
url = Rails.application.routes.recognize_path(request.referrer)
@last_controller = url[:controller]
@last_action = url[:action]
:
ルーティングがGoogleのURLを表示するのはなぜですか?リンクがクリックされたときにページにリダイレクトされますが、サイトがそのURLにアクセスできる唯一の方法はリファラーを経由することです。あなたのサイトは、リファラーやそのようなナンセンスに基づいてチェックを実行していますか? – CBroe
は編集しました –