UPDATE `jos_content` SET `alias` = replace(`alias`, '-s-(.*)','') WHERE `catid` = 233
Но скорее всего не прокатит, как правильно прописать регулярку (любой символ) при запросах в sql ?
я понял, что нужно обрезать `alias` у альясов окончания после '-s-' включительно. То есть было "/cat/my-url-s-123.html" стало "/cat/my-url". Собственно это и получилось.
В любом случае смысл как заменять строки должен быть понятен, для остальных вопросов:
коннекты создаются вполне легальными скриптами. Решение на будущее уже написано и отлажено, но нужно дождаться когда встанет целевой сервер, а до этого времени хотелось бы поднять свои сайты, которые не используют эти скрипты.
zexis: Уточните эти коонекты создают легальные пользователи или это хакер вас атакует?
Если легальные пользователи, то нужно разбираться зачем они это делают.
1) В iptables есть модуль connlimit для ограничения коннектов
2) если это злономеренные действия хакера, то можно автоматически обнаруживать IP автоматически открывающие много коннектов и банить их фаерволом.
проблема точно локализована.: используется скрипт (много инстансов одного и того же скрипта), который фетчит данные с другого сервера. В первый раз за пол года тот самый сервер сложился в 504 timeout. Собственно вот. Переписывать код, который пользуется сокетами слишком накладно, поэтому хочется решить максимально "дешево", то есть административными методами - ограничением, о котором спрашивалось в первом посте.
значит так должно получится:
UPDATE `jos_content` SET `alias` = SUBSTRING(`alias`, LOCATE('-s-', `alias`)+3, LENGTH(`alias`)-LOCATE('-s-', `alias`)+3) WHERE `catid` = 233 AND LOCATE('-s-', `alias`) > 0;
Из этого:
Хочу сделать подобный запрос:
UPDATE `jos_content` SET `alias` = replace(`alias`, '-s-(.*)','') WHERE `catid` = 233
Но скорее всего не прокатит, как правильно прописать регулярку (любой символ) при запросах в sql ?
я понял, что нужно обрезать `alias` у альясов окончания после '-s-' включительно. То есть было "/cat/my-url-s-123.html" стало "/cat/my-url". Собственно это и получилось.
В любом случае смысл как заменять строки должен быть понятен, для остальных вопросов:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
Да и кстати, если не все алиасы содержат '-s-', то надо добавить условие в WHERE LOCATE('-s-', `alias`) > 0
как вариант можно попробовать так:
UPDATE `jos_content` SET `alias` = SUBSTRING(`alias`, LOCATE('-s-', `alias`), LENGTH(`alias`)-LOCATE('-s-', `alias`)) WHERE `catid` = 233;
только не советую без бэкапов - не проверял
на паре сайтов появляются новости раз в 2-3 дня. Вторая пара действительно не обновлялась
насчет BOM проверил - код валидный без всяких выкрутасов, так что не подходит.
Справа внизу ссылка на http://www.ipk74.ru/kafio/cdodi/, дальше уже нет перенаправления и все работает без ввв
Идет перенаправление на www.ipk74.ru без www не употребляется обычно.
study.ipk74.ru - Центр дист. образования. А что с ним, какие-то проблемы?
как минимум - дубли с ввв и без ввв.
коннекты создаются вполне легальными скриптами. Решение на будущее уже написано и отлажено, но нужно дождаться когда встанет целевой сервер, а до этого времени хотелось бы поднять свои сайты, которые не используют эти скрипты.
Уточните эти коонекты создают легальные пользователи или это хакер вас атакует?
Если легальные пользователи, то нужно разбираться зачем они это делают.
1) В iptables есть модуль connlimit для ограничения коннектов
2) если это злономеренные действия хакера, то можно автоматически обнаруживать IP автоматически открывающие много коннектов и банить их фаерволом.
проблема точно локализована.: используется скрипт (много инстансов одного и того же скрипта), который фетчит данные с другого сервера. В первый раз за пол года тот самый сервер сложился в 504 timeout. Собственно вот. Переписывать код, который пользуется сокетами слишком накладно, поэтому хочется решить максимально "дешево", то есть административными методами - ограничением, о котором спрашивалось в первом посте.
разобраться в чем, простите?