我的網站有很多 404 次點擊到網站上從未存在過的 PDF 頁面。這些都是 spammy-subject.pdf URL。我每天收到幾十個,這比真正的網站流量高得多。
我目前正在為每個添加 410 次重寫。
我可以使用 htaccess 規則完全阻止此流量到達此站點嗎?在它變成 404 之前?
uj5u.com熱心網友回復:
我可以使用 htaccess 規則完全阻止此流量到達此站點嗎?
您可以使用.htaccess來阻止請求通過使用前端控制器模式的 CMS(例如 WordPress、Joomla 等)進行路由 - 如果這就是您所說的“站點”。但是,在處理檔案時請求已經到達您的服務器.htaccess,因此在其中執行任何操作.htaccess不一定會幫助“靜態站點”。
如果您已經回傳 404(或 410) - 在它到達您的站點之前- 那么問題已經解決。
唯一的潛在問題是請求是否通過您的 CMS 路由并且 404 是由您的 CMS 觸發,而不是 Apache。這表明您的檔案中的指令位于錯誤的位置.htaccess(或根本不存在)?.htaccess在任何現有的重寫之前,像這樣的阻塞指令需要位于檔案的頂部。
例如:
# Prevent 404 request being routed unnecessarily through CMS
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.pdf$ - [NC,R=404]
使用 410 Gone 而不是 404 沒有任何優勢,除非這些檔案以前存在并且您試圖將它們從搜索引擎中洗掉(或告訴第 3 方它們不再存在)。
更新:
這段代碼應該在最上面還是在打開的 Wordpress 規則之后: RewriteEngine On ?
它需要在最高層,之前的# BEGIN WordPress注釋標記(你應該避免手動編輯在WordPress部分的代碼,因為WordPress的本身維護本節,您的修改將被覆寫)。
是的,這是在RewriteEngine On指令之前。您不需要重復該RewriteEngine指令。RewriteEngine指令的位置實際上并不重要。如果檔案中有此指令的多個實體,則最后一個實體獲勝并控制整個檔案。(這是一種通過簡單地RewriteEngine Off在最后放置一個指令來有效地注釋掉檔案中所有 mod_rewrite 指令的快速方法。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/311216.html
