SELECT CONCAT('deny ', INET_NTOA(ip_start), ';') FROM `xyfq1_blacklist_items` WHERE `c` > 50 ORDER BY `c` DESC
Ну и bash скрипт примерно такой:
#!/bin/bash user=user pass=xxxxx mydb=dbname query="SELECT CONCAT('deny ', INET_NTOA(ip_start), ';') FROM \`xyfq1_blacklist_items\` WHERE \`c\` > 50 ORDER BY \`c\` DESC " mysql --skip-column-names --user="$user" --password="$pass" --database="$mydb" --execute="$query" > blockip.conf
Если средствами PHP, то http://php.net/manual/ru/function.long2ip.php
Или средствами MySQL INET_NTOA().
$args для Apache это %{QUERY_STRING}.
Или можно добавить флаг QSA http://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_qsa
RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^auto1\.html - [R=404,L] RewriteRule ^auto-spb\.html$ auto1.html [L]
Gagarin12, на предыдущей странице /ru/forum/comment/15716260
RewriteCond %{HTTP_HOST} ^(?:www\.)?+([^.]+\.sitename\.ru)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
И сверху добавить тот RewriteCond с проверкой HTTPS, но уже без восклицательного знака.
RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+) [NC] RewriteRule (.*) https://%1%{REQUEST_URI} [R=301,L]
Этот фрагмент можно исправить так:
RewriteCond %{THE_REQUEST} ^\S+\s+((?>/[^?/]+)*?/)index\.php RewriteCond %{THE_REQUEST} !bitrix/admin/ RewriteRule .* %1 [R=301,L]
Сверху добавить проверку, что это основной домен:
RewriteCond %{HTTP_HOST} ^(www\.)?sitename\.ru$ [NC]
RewriteRule ^((?:forum|articles)/.+)\.php /$1/ [R=301,L]
Добавлять выше остальных правил.
RewriteRule ^(.*/vitaminy)$ /$1-i-bady [R=301,L]
А если внимательно посмотреть, нет ли там ещё каких промежуточных редиректов.
Посмотреть каким нибудь онлайн инструментом, например bertal.ru
Ставили это правило самым первым в файле?
Перед проверкой сбрасывали кеш браузера?