簡體   English   中英

阻止除 .htaccess 以外的所有搜索查詢

[英]Block all search queries except on .htaccess

我目前正在一個 wordpress 網站上工作,其中我有一個特殊情況。 我希望允許一個特定的搜索查詢,同時拒絕所有其他查詢。

例如:

  • www.example.com - 通過
  • www.example.com/page - 通過
  • www.example.com
  • www.example.com/?myQuery - 通過
  • www.example.com/?anyotherQuery - 404

現在,我已經嘗試使用以下重寫規則,但它也阻止了對其他頁面的訪問。

RewriteBase "/"
RewriteCond %{QUERY_STRING} ! myQuery
RewriteRule ^.* - [F]`

我是重寫和 htaccess 方面的新手,所以需要幫助來實現這一點。

.htaccess文件的頂部,WordPress 前控制器之前嘗試以下操作。

RewriteCond %{QUERY_STRING} .
RewriteCond %{QUERY_STRING} !=myQuery
RewriteRule ^ - [F]

上述狀態...對於任何包含查詢字符串(第一個條件)且查詢字符串不完全是myQuery (第二個條件)的 URL,然后以 403 Forbidden(Apache 響應,而不是 WordPress)響應。

CondPattern上的=前綴使其成為字典字符串比較(不是正則表達式)和! 前綴否定結果。

 RewriteBase "/" RewriteCond %{QUERY_STRING}. myQuery RewriteRule ^.* - [F]`

RewriteBase指令在這里無關緊要。 之間的空間! 並且myQuery是錯誤的。 但這可能會阻止查詢字符串不包含myQuery的任何內容,包括根本沒有查詢字符串的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM