我的情況類似于上一個問題,在接受的答案中使用以下內容:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot|Baiduspider) [NC]
RewriteRule .* - [R=403,L]
似乎上面 URL 提供的規則阻止了對所有內容的訪問(包括主頁級別)
www.example.com/tbd_templates/www.example.com/custom_post/
我真正需要的是阻止訪問我指定的目錄(狀態碼為 403 等) /tbd_templates/,/custom_post/但允許訪問站點結構的其余部分。
我.htaccess的是:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
任何人都可以幫助我嗎?
uj5u.com熱心網友回復:
RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot|Baiduspider) [NC] RewriteRule .* - [R=403,L]
如鏈接答案中所述,此代碼需要.htaccess放入您要保護的目錄內的檔案中 - 因此它僅適用于該目錄中的所有內容(由.*正則運算式表示)。
但是,如果您需要保護多個目錄,這是不切實際的。在這種情況下,您應該更改RewriteRule 模式以針對您要保護的特定子目錄(在鏈接的答案中也涉及到)。
例如,以下內容需要放在WordPress 代碼塊之前(即,在評論# BEGIN WordPress標記之前)。(您不需要重復該RewriteEngine指令,該指令已在檔案的后面部分出現。)
RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot|Baiduspider) [NC]
RewriteRule ^(tbd_templates|custom_post)($|/) - [F]
該RewriteRule指令的第一個引數(模式)是與請求的 URL 路徑匹配的正則運算式,減去斜杠前綴。
正則運算式匹配或(使用正則運算式交替)或或的^(tbd_templates|custom_post)($|/)請求。/tbd_templates/custom_post/tbd_templates/<anything>/custom_post/<anything>
標志是的F縮寫R=403。該L標志在這里不是必需的,在使用F(或R=403)時是隱含的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/427913.html
