Alliance87

Рейтинг
21
Регистрация
15.06.2013
siv1987:
Выше уже есть полный вариант.
Значит либо не туда вставляете, либо умудряетесь как-то не так скопировать. Редирект должен быть перед реврайтами
RewriteRule ^(.+/)?page,\d+,(\d+-.+)$ /$1$2 [R=301,L]

Уже смешно ))) Честно, скопировал четко твой вариант, разместил под своим вариантом (который рабочий) последним, и не хочет редиректить, клянусь )) Как тут еще скопировать можно )) (ctrl+c ctrl+v)))):):):)

Я понял почему у Вас работает, просто на тестовой вашей странице нет комментариев, либо все они находятся на одной странице (главной), если Вы попробуете это сделать с новостями, которые имеют несколько страниц комментариев - это не пройдет).

Вопрос с редиректом решен, возник новый - с выводом самих комментариев, чтобы небыло дублей.

Можно тему закрывать...

siv1987:
Канонически RewriteBase должен быть в начале, и следовать за RewriteEngine On

Так и есть, все верно... Просмотрел, пробовал.

siv1987:
Редирект происходит на уровне htaccess, так что тут без разницы какой ДЛЕ.
Ну попробуйте ради интереса заменить [\d,] на [0-9,]
(\d+-.+) на ([0-9]+-.+)
мало ли что.
Кстати, да, надеюсь не в конце вставили?

Вставил сразу после RewriteBase /, а она находистя в конце файла .htaccess, или нужно выше вставить?

Попробовал поменять, но не получилось...

Есть такой вариант:


RewriteBase /
RewriteCond %{REQUEST_URI} ^(.*)([0-9]+)\,([0-9]+)\,(.*)\.html$
RewriteRule ^(.*)([0-9]+)\,([0-9]+)\,(.*)\.html$ $1$4.html [R=301,L]

Но он не учитывает, "page," как адаптировать? Тоесть http://site.ru/category/1,2,895-name.html такой отредиректит на ура!, а с page не хочет.

siv1987:

Редирект проверил - рабочий. Попробуйте еще раз.

К сожалению не рабочий, возможно он работает только на Вашей версии DLE. На DLE 7.5 код не работает. Если не сложно, покажите, как Выглядит Ваш .htaccess

siv1987:
На сколько я знаю ссылкам запрещенным к индексации "вес" не передается... Или передается? Уберите ссылки из кода, зачем вы их там держите если не пользуетесь этим функционалом а "вес" важнее.

По запрещенным к индексации страницам все равно ходит гуглбот, и атрибут nofollow Вас также не спасет, так как он не передаст вес на ссылку акцептор, но украдет в "никуда" вес с ссылки донора.

О каких ссылках Вы говорите?? из какого кода убрать? Конкретней, пожалуйста.

---------- Добавлено 15.06.2013 в 19:04 ----------

siv1987:

После RewriteBase добавить

RewriteRule (^|.+?/)page,[\d,]+,(\d+-.+)$ /$1$2 [R=301,L]

Попробовал, не работает, с дубля не перекидывает на основную новость.

siv1987:
Кто сказал что он будет передаваться? Откуда он будет передаваться? У вас там "до фига" веса?
Ставьте тогда редирект в htaccess - это очень легко сделать, и уберите из кода ссылки на коментарии, вам в таком они случае не понадобиться. И не будут никаких ссылок в вебмастере.

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

siv1987:
Disallow: */page,

и все дела. Редирект только убьет функционал, если эти комментарии действительно существуют.

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

PEG:
А генерацией htaccess'a с соответствующими редиректами (можно на автомате) не пробовали решить задачу? Раз много модулей написано, чего вам стоит еще один за 30$ заказать?

Пробовал, не получается, может не правильно прописывал регулярные выражение, хотелось бы получить ответ у знающих. Если бы я хотел модуль заказать, то я бы давно уже купил решение и не создавал данную тему.

Данное решение также не актуально: без использования "!" - циклическая переадресация!


$true_link = $config['http_home_url'] . substr ($_SERVER['REQUEST_URI'], 1);

if (intval($_REQUEST['cstart']) >= 2) {
$comments_link = $link_page . intval($_REQUEST['cstart']) . "," . $row['alt_name'] . ".html";
}

if (($true_link == $full_link) and ($true_link == $comments_link)) {
} else {
header('HTTP/1.1 301 Moved Permanently');
header ('Location: ' . $full_link);
die();
}
BrightGuy:
А почему не обновится к актуальной версии?

Нереально, много уже установлено модулей приватных, дописано и внесено множество PHP вставок, не получится... Да и рашение будет полезно всем у кого старые версии и новые, так как подобный Баг есть даже в самых последних версиях скрипта DLE.

12
Всего: 19