Hur begränsar jag robotar från att komma åt din WordPress-webbplats?

Jag försöker blockera åtkomst till en viss mapp och allt innehåll. Jag använder metoder som föreslås på Internet, men de fungerar inte.

Denna metod gör ingenting:

RewriteRule ^folder_name/?$ - [F,L] ErrorDocument 403 default 

Och den här ger internt serverfel:

 deny from all  

Vad är fel här?

Min htaccess-fil ser ut så här:

RewriteEngine on Options -Indexes DirectoryIndex index.html RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L] #rewrite rules for base URLs RewriteRule ^([^/\.]+)[/]*$ $1\.html [QSA,L] 

  • 1 Du bör inte använda katalogdirektivet i htaccess, men intressant varför omskrivningsregeln inte fungerar.
RewriteRule ^folder_name/?$ - [F,L] 

Detta blockerar endast åtkomst till mappen. inte dess innehåll (på grund av det bakre ankaret i slutet av strängen). Och eftersom du har befintliga mod_rewrite-direktiv måste den gå nära toppen, innan befintliga direktiv.

Generellt sett bör du ha blockeringsdirektiv först.

RewriteRule ^folder_name - [F] : remaining directives follow 

Alternativt kan du skapa en annan .htaccess fil i katalogen du vill blockera, med ett enda direktiv:

Require all denied 
  • Detta är ett bättre svar.

Jag hittade en metod som fungerar:

RedirectMatch 404 ^/folder_name/.*$ 
  • Men observera att de befintliga mod_rewrite-direktiven fortfarande bearbetas innan detta mod_alias-direktiv bearbetas, oavsett vilken ordning direktiven har, så eventuella omdirigeringar kommer fortfarande att ske.

fungerat för dig: Charles Robertson | Vill du kontakta oss?