Директивы mod_authz_host Allow, Deny срабатывают раньше чем директивы mod_setenvif, так что в одном файле это не работает.
Решить можно переместив директивы mod_setenvif в .htaccess на уровень выше, а остальное оставить.
Перенести в корневой .htaccess
SetEnvIfNoCase User-Agent "^good-agent" yes_ag
$pickme = $poses[$counts/2]; $content = str_replace($pickme, $pickme.$button, $content);
Заменить на
$poses[$counts/2] .= $button; $content = implode(' ', $poses);
Это рассчитано на работу в корневом htaccess
Перед проверкой сбросьте кэш браузера.
RewriteEngine on RewriteCond %{QUERY_STRING} =url=site123.ru RewriteRule ^engine/redirect.php$ http://ya.ru/? [L,R=301]
RewriteRule ^cars-(.*)\.html$ /cars.html?$1 [L]
Без флага [L] не останавливается и срабатывает RewriteRule . /index.php
http://php.net/manual/ru/function.get-headers.php
Функция возвращает FALSE, если возникла ошибка.
$file_headers = @get_headers($file); if(($file_headers === false) || ($file_headers[0] == 'HTTP/1.1 404 Not Found')) { $urltodownload = '$downloadlink2'; } else { $urltodownload = '$downloadlink'; }
Это похоже результат технологии Dead Gateway Detection.
Есть параметр в реестре отключающий её.
Тогда с помощью консольного route add
Тогда добавим проверку существует ли файл
RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_URI} !^/order/RewriteRule .*[^/]$ /$0/ [R=301,L]
RewriteCond %{REQUEST_URI} !^/order/RewriteRule .*[^/]$ /$0/ [R=301,L]