форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Нужен скрипт, у самого времени писать нет, прошу помощи умелых пхпистов. Деньги готов перечислить на телефон (проще всего), или через какую-нибудь платежную систему. Список доступных мне систем уточняю.
Техзадание
Скрипт живет в директории текстпаттерн (мне кажется, он должен заменять собой стандартный index.php, при этом оригинальный index.php переименовывается и подключается по мере надобности, либо инклудится в верх обычного индекса). При обращении к любой статье он перенаправляет с правильным редиректом (код 301) браузер пользователя на другое URL. У меня есть список соответствий ID статей и новых URI. Список могу сгенерировать в любом формате, сейчас он выглядит так:
#comment 123 /this-is-new/uri.html 615 /another/one.html
При обращении к статье, ID которой нет в вышеописанном списке, скрипт должен делать следующее:
Передавать управление основнуму скрипту TxP.
Важные особенности:
- "Боевой" сервер, то есть, пожалуйста, не пренебрегайте проверками
- Файл с редиректами я в будущем могу редактировать, его контент может меняться, учитывайте это при создании скрипта. Тайны в нем никакой нет, он может лежать в веб-пространстве, как и список всех ID.
- Минимум зависимости от Textpattern. Желательно ( и это возможно!) вообще не обращаться к функциям движка.
- Оплата в два захода, аванс + полный расчет после тестирования. Цена обсуждаема, будет хорошей.
Пишите в личку или сюда, все равно. Если есть вопросы конкретно по ТЗ, пожалуйста, пишите СЮДА. Вы откажетесь, кто-то другой согласится, и скажет вам "спасибо". Ну и мне два раза не отвечать.
Отредактированно glebotr (18-11-2010 15:50:49)
Неактивен
Тема закрыта, написал сам. Кто-то упустил шанс получить 500 рублей за 10 (десять!) строчек тривиального кода
Неактивен
я бы не смог запросить 500 рублей за 1 строчку кода, совесть блин...
да и форум читаю редко. если кому-то нужно подобное, то добавьте эту строку первой в файл index.php и будет счастье
if(preg_match('%^'.$_GET['id'].' +(.*?)$%im',file_get_contents('urls.txt'),$m)){header('HTTP/1.1 301 Moved Permanently');header("Location: http://domen.ru".$m[1]);exit;}
Неактивен
О как красиво. Одно НО - id статьи мне удалось найти только в REQUEST_URI (установлены человекопонятные URI, может, в этом дело? Или я чего-то не вкурил, то вероятнее) 500 рублей - это была максимальная цена, которую я готов был заплатить (горело!)
В результате просто перегенерировал файл с перенаправлениями, чтобы в нем было определение массива, и написал в десять строк, но коротких.
Отредактированно glebotr (23-11-2010 23:59:24)
Неактивен
просто по ТЗ я понял, что привязка по ID и на сайте используется ЧПУ ?=беспорядок (т.е. в урле ?id=123 )
проще составить табличку соответствия:
/bla-bla/old_url /new_patch/new_url
то скриптик будет такой:
if(preg_match('%^'.$_SERVER['REQUEST_URI'].' +(.*?)$%im',file_get_contents('urls.txt'),$m)){header('HTTP/1.1 301 Moved Permanently');header("Location: http://domen.ru".$m[1]);exit;}
ну или регуляркой ID выдергивать...
Неактивен
Еще проще сделать такую "табличку" (я же сам ее генерю):
<?php $moved=array( "url1" => "url2", ... ...
Так что все вышлосовсем просто. Кстати, каноничнее, наверное, писать exit(0)
Отредактированно glebotr (26-11-2010 11:09:14)
Неактивен
И таки нам зачем пхп?..
раз сами генерите, то сгенерите сразу .htaccess, что-то типа:
Redirect 301 /bla-bla/old_path1 http://www.domen.com/new/new_url1 Redirect 301 /bla-bla/old_path2 http://www.domen.com/new/new_url2
Неактивен
glebotr написал:
30 кб htaccess? Мсье знает толк в извращениях!
ну нужно же иногда и развлекаться хотя... 30кб - это еще не полный изврат ))
только что попал на сайтик, сделанный в друпале, итого с каждой страницы: 36 внешних инклудов .css и 26 инклудов явы, ну и по мелочам: счетчики, банеры, флеш. вот это я понимаю - "конкретный" сайт
Неактивен
В руководстве по Апачу говорится, что процессинг хтакцесс значительно медленнее вообще всего, что апач делает. Собственно, у меня при относительно небольшой замусоренности на шеред хостинге все тормозило заметно.
Неактивен