2014-12-23 56 views
4

我正在開發一個混合用戶網站,類似於YouTube。我們在服務器上生成ID,我選擇了基數62(數字,小寫字母和大寫字母),因此它們會更短。所以這個網址可能類似於example.com/user/123AbCaBc這個facebook機器人似乎正在全部使用小寫字母版本登錄我的網站example.com/user/123abcabc這會導致404錯誤,因爲全小寫的ID不在數據庫中。Facebook externalhit_uatext機器人降級網址

根據日誌,沒有其他用戶代理創建404s,所以這肯定是機器人而不是人類。下面是我看到的用戶代理:

facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)

出現這種情況大約每隔4分鐘。我目前沒有記錄非404命中,所以我不確定是否有其他非小寫版本。

這裏的服務器技術是nodejs/mongodb,但我不明白這與那個問題有什麼關係。

有什麼我可以做的,以解決Facebook?這裏有問題嗎,還是應該讓這些日誌錯誤發生?任何人都有類似的問題?

回答

3

有可能您的Node「Webserver應用程序」(您使用Express?)目前不支持字節範圍。 Facebook的履帶apparantly有如下描述回退到上lowercasing的URL的行爲:

看一看

關於如何解決這個問題。

+0

我需要花一些時間來研究這個問題,實施它,並將其投入生產。如果事實證明這是問題,並且你的建議修復了這個問題,我會很樂意重新開放賞金並獎勵給你。 –

+0

這很好,不用擔心。祝你好運! – Tobi

+0

由於StackOverflow似乎沒有解釋「嘿,它可能需要超過24小時才能看到這是否是正確的答案或不」我給你賞金。希望它解決了這個問題,如果有的話,我可能會寫一篇博客文章並鏈接到這裏,詳細描述問題和我的解決方案。謝謝。 –