Запрет входа (логина) с фронтэнда Joomla через .htaccess
- Код: Выделить всё
Redirect 301 "/component/users" "http://gonowhereintoblackhole.com?"
RewriteCond %{QUERY_STRING} .*option=com_users.* [NC,OR]
RewriteCond %{PATH_INFO} .*component/users.* [NC]
RewriteRule (.*) http://gonowhereintoblackhole.com? [R=301,L]
На самом деле много что учитывать нужно, и не могу дать 100%, что всё предусмотрено.
Например, не получится воспользоваться только директивой RewriteRule, типа такого:
- Код: Выделить всё
RewriteRule .*option=com_users.*|.*component/users.* http://gonowhereintoblackhole.com?
Во-первых, RewriteRule не делает сопоставление с Query String
Во-вторых, RewriteRule не делает сопоставление с PATH_INFO. PATH_INFO — это часть uri, которая идёт после имени файла (случай: /index.php/component/users)
Во-третьих, RewriteRule и RewriteCond %{PATH_INFO} очень сложно реагируют на искусственно вставленные дополнительные слэши (пример: //index.php/component/users, /index.php/component/users//, //?option=com_users, /?option=com_users// ) я не буду пытаться здесь проанализировать все варианты, кому интересно, можете написать свои директивы и по-честному их потестировать. — Да-да, приходится и такое учитывать, иначе при помощи таких манипуляций со слэшами (и наверное, возможны еще какие-то) директивы не сработают.