.htaccess в директорию /home/admin/web/
.htaccess в директорию /home/admin/web/
Блокирую запросы ботов к сайтам с помощью .htaccess в корне каждого сайта
Решил создать файл /home/admin/web/.htaccess с аналогичным содержимым, чтобы это правило работало для всех сайтов на сервере. Но почему то сайты перестают работать и возвращают ошибку 500. Что не так делаю?
Code: Select all
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} MJ12bot|ia_archiver|LinkpadBot|MegaIndex|AhrefsBot|SemrushBot|opensiteexplorer
RewriteRule (.*) - [F,L]
Re: .htaccess в директорию /home/admin/web/
Это надо положить в корневой папке всех сайтов.
-
- Support team
- Posts: 1111
- Joined: Tue Jul 30, 2013 10:18 pm
- Contact:
- Os: CentOS 6x
- Web: nginx + php-fpm
Re: .htaccess в директорию /home/admin/web/
Так а в логах апача-то что?
Re: .htaccess в директорию /home/admin/web/
[Wed Oct 30 17:41:10.33384 2019] [core:alert] [pid 26349] [client .....] /home/admin/web/.htaccess: RewriteEngine not allowed here
Добавил в apach2.conf
Code: Select all
<Directory /home/admin/web/>
AllowOverride All
</Directory>
Code: Select all
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} MJ12bot|ia_archiver|LinkpadBot|MegaIndex|AhrefsBot|SemrushBot|opensiteexplorer
RewriteRule (.*) - [F,L]
Re: .htaccess в директорию /home/admin/web/
Нашел способ:
1) в apache2.conf прописываем :
1) в apache2.conf прописываем :
2) в /home/admin/web/.htaccess прописываем :<Directory /home/admin/web/>
AllowOverride All
</Directory>
Вроде работаетRewriteOptions Inherit
RewriteCond %{HTTP_USER_AGENT} MJ12bot|ia_archiver|LinkpadBot|MegaIndex|AhrefsBot|SemrushBot|opensiteexplorer
RewriteRule (.*) - [F,L]
Re: .htaccess в директорию /home/admin/web/
Извините, что вмешиваюсь, но если у вас стандартная связка nginx + apache, то блокировку дешевле проводить на уровне nginx:
Code: Select all
if ($http_user_agent ~* (MJ12bot|ia_archiver|LinkpadBot|MegaIndex|AhrefsBot|SemrushBot|opensiteexplorer) ) {
return 410;
}
Re: .htaccess в директорию /home/admin/web/
Это в каком конфиге надо прописывать? Можете также привести пример, в котором вместо userAgent-ов перечислять нежелаемые IP-адреса, включая подсети в виде 123.123.123.1/24 ?skurudo wrote: ↑Mon Nov 04, 2019 5:34 amИзвините, что вмешиваюсь, но если у вас стандартная связка nginx + apache, то блокировку дешевле проводить на уровне nginx:
Code: Select all
if ($http_user_agent ~* (MJ12bot|ia_archiver|LinkpadBot|MegaIndex|AhrefsBot|SemrushBot|opensiteexplorer) ) { return 410; }