Dot-Htaccess

如果 URL 包含帶有 htaccess 的特定關鍵字,則重定向使用者?

  • August 19, 2020

我需要幫助來設置.htaccess執行以下操作的規則:

每當請求的 URL 包含關鍵字時love,就會將使用者重定向到另一個 URL,或者可能顯示 404 頁面。

再澄清一點:如果有人試圖訪問此 URL –>www.example.com/lovewww.example.com/?love任何包含 love 一詞的 URL,則應將其重定向到 404 頁面。

您需要分別處理匹配路徑中的內容和匹配查詢字元串中的內容,因為 Apache 不提供包含兩者的變數。這裡的第一個RewriteRule匹配路徑中的“love”,而受RewriteCond限制的第二個規則匹配查詢字元串中的“love”。

RewriteRule .*love.* - [R=404]

RewriteCond %{QUERY_STRING} .*love.*
RewriteRule .* - [R=404]

每當請求的 URL 包含關鍵字“love”時

如果要排除包含這些字母的單詞作為子單詞。例如。“glove”、“slovenly”、“cloves”等,那麼你需要在正則表達式中加入單詞邊界,例如。\blove\b.

THE_REQUEST您還可以通過檢查包含 URL 路徑和查詢字元串的伺服器變數來使用單個規則執行此操作。

例如:

RewriteEngine On

RewriteCond %{THE_REQUEST} \blove\b
RewriteRule ^ - [R=404]

引用自:https://serverfault.com/questions/399324