我們看到了一個奇怪的事情,即機器人正在發送奇怪的 URL。他們在我們擁有的 url 中添加了一個 alexa URL。我們正在尋找洗掉 URL 的那部分,因此它只包含添加奇怪 URL 之前的所有內容
所以我們想從
www.example.com/search/Linux/page/6/”http:/www.alexa.com/siteinfo/www.example.com“/page/900
到
www.example.com/search/Linux/page/6/
洗掉:”http:/www.alexa.com/siteinfo/www.example.com“/page/900
由于它有引號,我們不確定什么 htaccess 規則可以用來重寫 URL,但我愿意接受建議。
uj5u.com熱心網友回復:
不確定請求來自哪里,只能使用我們的 404 監視器查看它們。
如果這些請求觸發了 404(應該如此),那么您基本上已經“阻止”了此類請求 - 它們不會被搜索引擎無意中索引。
但是,如果第三方錯誤地使用這些錯誤鏈接鏈接到您,那么您可能會失去流量。您可以重定向以洗掉 URL 的錯誤部分。
由于它有引號,我們不確定什么 htaccess 規則可以用來重寫 URL,但我愿意接受建議。
在 URL 中匹配引號并沒有什么特別之處。但是,您的問題中使用的引號不是“標準”雙引號。開頭的報價是“U 201D: 右雙引號”,結尾是“U 201C: 左雙引號”。這不是問題,我們可以檢查所有三個。
例如,在.htaccess檔案頂部使用 mod_rewrite 洗掉 URL 從第一個引號字符開始的部分:
RewriteEngine On
# Remove everything from the first double quote onwards
RewriteRule ^([^"”“] )["”“] /$1 [R=301,L]
$1反向參考包含第一個雙引號字符之前的 URL路徑部分。
保留原始查詢字串(如果有)。
首先使用 302(臨時)重定向進行測驗,以避免潛在的快取問題。
或者,如果您的 URL 僅限于已知的字符子集,例如。a-z, A-Z, 0-9, _(下劃線), -(連字符), /(斜線 - 路徑分隔符) 然后檢查有效字符。例如:
# Remove everything from the first "invalid character"
RewriteRule ^([\w-/] )[^\w-/] /$1 [R=301,L]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/473501.html
標籤:.htaccess
上一篇:htaccess:mod_expires.c除了一個或多個檔案夾
下一篇:如何重寫導致重復內容的URL?
