[英]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.