ParserYa

ParserYa
Рейтинг
29
Регистрация
04.10.2010

Не важно куда.. главное что бы до вывода содержимого на экран. Можете и в index.php в начало самое. Только повторю, я этот код писал на ходу, если при его исполнении возникнут ошибки - я не виноват :)

Антон Белов, а вы предлагаете выложить тут алгоритм проверки уникальности текста, который я использую в CS Yazzle? Я описал все в общих чертах.. не более того..

По уму надо настраивать редирект со страниц /?id=n на соответствующий алиас. Но если не хотите, можно просто закрыть индексацию всех страниц с гет параметром id в robots.txt с помощью директивы Clean-param

MAYDAN:
В кавычках на первом.

В кавычках означает искать точно заданный текст, соответственно ПС находит его на Вашем сайте и выдает его в ТОПе. Если же вставить "Пару предложений без кавычек", то тут ПС, на основании своих алгоритмов ранжирования, сама решает что показывать на первых позициях. Логично, что туда попадет не Ваш сайт, где есть точное вхождение всего запроса, а сайты, продвинутые по определенным ключам, содержащимся в Вашем запросе.

Наверняка через админке можно установить внешнюю ссылку, открывающуюся в том же окне. Сделайте ссылку на главную, как будто она внешняя.. В стандартном редакторе Typo 3 CMS похожая ситуация, если неправильно его настроить.

В предложенном мною втором варианте закомментируйте exit; Будет открываться старая страница, но при этом будет слаться код ошибки 404. В итоге пользователи, перешедшие на эту страницу увидят то, что искали, а ПС постепенно выкинут такие страницы из индекса.


$urls = array('/category/780/'=>'category/svetodio...-osvescheniya/');

foreach ($urls as $oldUrl=>$newUrl) {
if ($oldUrl == $_SERVER['REQUEST_URI']) {
header("Status: 301 Moved Permanently", false, 301);
header("Location: $newUrl");
exit;
}
}

Задумка такая, что массив $urls можно пополнять и будет срабатывать редирект.

А вообще задумайтесь нужно ли вам столько работы? Неужели на все эти страницы есть бэки и вы боитесь их потерять? Может быть проще сделать, например так:


$newUrl = explode('/',trim($_SERVER['REQUEST_URI'],'/'));
if (($newUrl[0] == 'category') && (preg_replace('#\d+#','',$newUrl[1]) == '')) {
header("HTTP/1.1 404 Not Found");
exit;
}

Тут задумка в том, что если страница находится в директории category и урл состоит только из цифр, отдавать 404. Тогда ПС сами выкинут эти страницы из индекса.

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

P.S. Скрипты написан на коленке и не тестировались. Наверняка требуют доработки. :)

+ Если умеете ей пользоваться - создавать сложные проекты довольно просто.

+ За счет мощного внутреннего языка становиться очень гибкой.

+ Открытый код позволяет изменить даже ядро. Правда тогда придется отказаться от обновлений.

- Если что-то не умеете, то разобраться, как это сделать, - это минимум час работы с гуглом и мануалами..

Итог: Великолепная CMS. Я пользуюсь и

Роман Романович:
кайфую


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^published
RewriteRule (.*) published/SC/html/scripts/index.php?__furl_path=$1&frontend=1 [QSA]

Вот это что? Вы понимаете вообще что хотите, составляя htaccess? Может вам какой-нить попроще метод редиректа выбрать.. Например через ПХП...

На .htaccess есть смысл какие то универсальные редиректы настраивать... там же регулярные выражения.. А если вы так будете отрабатывать каждый УРЛ, дак не проще на ПХП это сделать?

Дак вы сделайте на сайте - я посмотрю... сейчас перешел - никакого редиректа

Всего: 352