![](/img/trans.png)
[英]How to avoid search results through website like https://search-7.com/ in google chrome
[英]Website not opening google search http to https
我們有一個網站,我們的域名在dnsimple上,服務器在heroku上。 我們在heroku和dnsimple上都使用ssl配置了所有必需的步驟。
當您在網址列中輸入以下4個網址中的任何一個時,它將起作用。
但是問題是,當我在Google上搜索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個網站添加為google搜索控制台;
https://www.example.com
https://example.com
http://www.example.com
http://example.com
它已經超過24小時了。 對於Internet Explorer,我試圖刪除歷史記錄並刷新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中已刪除了ognize_path), recognize_path
會引發路由錯誤,以防找不到路徑。
您正在將任意字符串傳遞給該函數,但是該函數僅識別路由器內部描述的路徑。
request.referrer
將返回3種不同類型的URL:
在除第三種情況以外的所有情況下, recognize_path
都會引發錯誤。 該錯誤將由默認的Rails處理程序捕獲並顯示為404(無法識別的路線導致404生產)。
我不確定location_action_name
應該做什么,但是由於現在已實現,因此它非常脆弱,在大多數情況下,它將導致在您的應用中引起404響應。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.