asteroid

Рейтинг
129
Регистрация
04.11.2007

vaf76, если нужно без редиректа, то [R=301,L] заменить на [L]


RewriteEngine on

#1.вариант http://site.ru/component/k2/item/056-plastik -> http://site.ru/kuhni/056-plastik
RewriteRule ^component/k2/item/(.*)$ /kuhni/$1 [R=301,L]

#2.вариант http://site.ru/component/k2/item/056-plastik -> http://site.ru/056-plastik
RewriteRule ^component/k2/item/(.*)$ /$1 [R=301,L]
serjoo:
в том то и дело что не попадают.

Очень странно.

Это бред конечно, но попробуйте добавить модификатор u.

preg_replace('!([^\,]+)$!su', ', '.$index.' \1', $u)

Обращал раньше внимание на ошибки пользователей с агентом AppleWebKit, которые идут через MS сервера: 207.46.0.0 - 207.46.255.255, 157.54.0.0 - 157.60.255.255 и т.п. Переводят в нижний регистр всю строку адреса. Для одного сайта это критично и выдаётся 404.

Предположил, что это специальная программа в браузере наподобие прокси. Все программы имеют настройки и глюки. Да и с самих серверов может что угодно приходить.

Запросов немного было, поэтому глубоко не копал и забил.

В строке $u после последней запятой вставляется текст $index. Цифры тут не фигурируют.

В повторном запросе юзер-агент не AppleWebKit? IP пробивали?

Лучше покажите эти строчки лога, коды ответа, отдаваемый размер, агент.

farenheit, у вас очень простой sql запрос. Смысл его кешировать?

Кешировать стоит "тяжёлые" вложенные запросы с join-нами, group by и т.п.

Fish_su:
каким образом можно поставить полный запрет на посещение сайта поисковыми роботами?

Никаким!

Не получится отличить заход юзера от робота. IP и USER_AGENT не спасёт.

Решение с другой стороны. Запретить всем и разрешить "проверенным товарищам".

Владимир-C:
Как полагаете, такой метод годится?

Да, именно такой алгоритм используется в file2ban nginx-req-limit. Если за "findtime" время превышено "maxretry" запросов, то баним на "bantime" время.

Можно учесть ещё один параметр - всплеск активности, как это реализовано в ngx_http_limit_req_module.

Так это секундное дело её убрать и рестартнуть. Ну не будет человек рут команды запускать не имея рута.

#2 без passthru

exec( '/usr/bin/top -b -n 1', $result );

$result = implode( "\r\n", $result );

echo'<pre>';print_r($result);
Всего: 106