<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{THE_REQUEST} ^.*(wpdffcontent)|(glitter_calendar)|(mp4:).* [NC] RewriteRule ^(.*)$ - [F,L] </IfModule>
Isso precisaria ser antes de suas diretivas mod_rewrite existentes do WordPress, caso contrário, ele nunca será processado. (O front controller do WordPress reescreve todas as solicitações antes que suas diretivas tenham a chance de ser executadas.) No entanto, suas diretivas devem ser escritas como um verso:
RewriteRule (?:wpdffcontent|glitter_calendar|mp4:) - [F]
Não há necessidade do wrapper <IfModule>
(na verdade, isso deve ser omitido). RewriteEngine On
só precisa ocorrer uma vez no arquivo (em qualquer lugar). É mais eficiente verificar o URL no padrão RewriteRule
, sem necessidade de uma diretiva RewriteCond
adicional aqui. E não há necessidade de todos os grupos capturados (você tem 4 grupos de captura em suas diretivas iniciais que são apenas um desperdício desnecessário de recursos). E o L
não é necessário ao usar o F
flag ( L
está efetivamente implied ).
Inclua apenas o sinal NC
se você precisar especificamente bloquear GliTTer_CALendar
e GLITTER_calendar
, bem como glitter_calendar
, etc. Se todas as solicitações forem para glitter_calendar
(todas as letras minúsculas), isso é tudo precisa bloquear.
No entanto, acho que seria preferível usar uma combinação de mod_setenvif e mod_authz_host (Apache 2.2) para bloquear essas solicitações. (O bloco com mod_rewrite poderia ser substituído se você tivesse arquivos .htaccess
adicionais usando mod_rewrite.)
Por exemplo:
SetEnvIf Request_URI "(?:wpdffcontent|glitter_calendar|mp4:)" blockit
Order Deny,Allow
Deny from env=blockit
Logicamente, qualquer diretiva bloqueio deve ser a primeira coisa no seu arquivo .htaccess
. Seguido por redirecionamentos canônicos / externos e, em seguida, reescritos internos (as diretivas originais do WordPress). No entanto, se você tiver acesso à configuração do servidor (que parece ter), tudo isso deve estar na configuração do servidor e desabilitar .htaccess
(ou seja, AllowOverride None
).