21

Re: Общая тема по редиректам и борьбе с дублями в DLE

Моё правило было закомментировано, потому, что оно не работало.

Спасибо, Александр, ваша подсказка работает, только, по всей видимости, получается циклическое перенаправление. Firefox пишет:

Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.

Возможно, цикл возникает из-за этого правила?

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+).html$ index.php?do=static&page=$1 [L]

Вопросы:

1. Как подружить оба эти правила

2. Как подобные страницы (_http://www.site.ru/index.php?do=static&page=some_page_) могут прорываться в индекс? Такое только у меня случается?

22

Re: Общая тема по редиректам и борьбе с дублями в DLE

kind_whale пишет:

Возможно, цикл возникает из-за этого правила?

Добавьте мои правила после него. Возможно, это поможет.

kind_whale пишет:

Такое только у меня случается?

Как такое бывает - я не знаю, но это не первый такой случай...

23

Re: Общая тема по редиректам и борьбе с дублями в DLE

admin пишет:

Добавьте мои правила после него. Возможно, это поможет.

Пробовал и так. Не помогает.

24

Re: Общая тема по редиректам и борьбе с дублями в DLE

kind_whale пишет:

Пробовал и так. Не помогает.

Попробуй еще вот такой вариант, надеюсь, сработает:

RewriteCond %{QUERY_STRING} ^do=static&page=(.*)$
RewriteRule ^(.*)index\.php\?do=static\&page=(.*)$ $1/$2.html [R=301,L]

25

Re: Общая тема по редиректам и борьбе с дублями в DLE

Нет, не работает. Вообще никаких движений.
При этом правиле открывается _http://www.site.ru/index.php?do=static&page=some_page_

Вот что, кстати, написал саппорт dle. Но, что-то мне подсказывает, что решение должно быть. Тем более, что несколько раз подмечал некомпетентность саппорта dle.

Адрес http://www.site.ru/index.php?do=static&page=some_page убрать нельзя потому как именно он является оригинальным существующим адресом. А адрес http://www.site.ru/some_page.html является ЧПУ аналогом. Поэтому убрать с сайта можно только адрес http://www.site.ru/some_page.html а не http://www.site.ru/index.php?do=static&page=some_page

26

Re: Общая тема по редиректам и борьбе с дублями в DLE

kind_whale пишет:

Вот что, кстати, написал саппорт dle. Но, что-то мне подсказывает, что решение должно быть. Тем более, что несколько раз подмечал некомпетентность саппорта dle.

Нет, но в этом они правы, ибо index.php?do=static&page=some_page это и есть истинный адрес, а ЧПУ это всего лишь его интерпретация...

27

Re: Общая тема по редиректам и борьбе с дублями в DLE

admin пишет:

Нет, но в этом они правы, ибо index.php?do=static&page=some_page это и есть истинный адрес, а ЧПУ это всего лишь его интерпретация...

Ну, конечно, они правы.
Только с их слов получается, что от дублей index.php?do=static&page=some_page избавится невозможно.

Но выход же должен быть? ))

Может robots.txt как-то использовать?

Или в самом index.php поставить редирект на some_page.html при запросе index.php?do=static&page=some_page ?

Есть у кого-нибудь идеи как это правильно сделать?

28

Re: Общая тема по редиректам и борьбе с дублями в DLE

kind_whale пишет:

Может robots.txt как-то использовать?

Так редиректы и robots.txt это разные вещи!!!
Если надо избавиться от дублей - вот тебе стопудовый работающий выход и без геморроя.
Пропиши в robots.txt:
Disallow: /index.php?

29

Re: Общая тема по редиректам и борьбе с дублями в DLE

Пропиши в robots.txt:
Disallow: /index.php?

Я так понимаю, это единственный выход?
Ничего "важного" не пострадает?

30

Re: Общая тема по редиректам и борьбе с дублями в DLE

kind_whale, Не единственный, но работающий точно. Ничего не пострадает, если на сайте используется ЧПУ.

31

Re: Общая тема по редиректам и борьбе с дублями в DLE

Что-то не очень мне нравится использование robots.txt для борьбы с подобными дублями ...

Может, все-таки, есть более изящное решение?

32

Re: Общая тема по редиректам и борьбе с дублями в DLE

kind_whale пишет:

Может, все-таки, есть более изящное решение?

Наверняка есть - когда найдешь - дай знать!

33

Re: Общая тема по редиректам и борьбе с дублями в DLE

Никак не могу разобраться со следующими дублями - по адресу _http://site.ru/bla/bla/category отображается _http://site.ru/category

Как сделать редирект с урлов _http://site.ru/bla/bla/category на верные, то есть на - _http://site.ru/category
Мультикатегории на сайте не используются, вложенных категорий тоже нет, т.е. все главные.

Во втором уроке по оптимизации есть пункт «Устраняем неразбериху с категориями их вложенностью и слешем / на конце», но после правок вызывает множественную переадресацию по адресу _http://site.ru/category

DLE 9.7

Может кто поможет?

34

Re: Общая тема по редиректам и борьбе с дублями в DLE

KaiN_nRg, Включи в настройках пункт "Исправлять неверные url ЧПУ" и все встанет на свои места без всяких правок!

35 (06.07.2013 02:56 отредактировано KaiN_nRg)

Re: Общая тема по редиректам и борьбе с дублями в DLE

АлаичЪ, забыл упомянуть, Обрабатывать неверные URL ЧПУ стоит - Да.

36

Re: Общая тема по редиректам и борьбе с дублями в DLE

KaiN_nRg пишет:

АлаичЪ, забыл упомянуть, Обрабатывать неверные URL ЧПУ стоит - Да.

Это странно...

KaiN_nRg пишет:

после правок вызывает множественную переадресацию

Если отменить правки, то родная ДЛЕшная функция должна работать. А вообще дело в слеше, он должен присутствовать на конце, тогда не будет множественных переадресаций!

37

Re: Общая тема по редиректам и борьбе с дублями в DLE

АлаичЪ, не работает, но это видимо из-за еще каких-то правок. Двиг претерпел множество модификаций. Ну ладно, все равно планирую до десятки обновится, а пока потерплю.

38

Re: Общая тема по редиректам и борьбе с дублями в DLE

KaiN_nRg пишет:

Двиг претерпел множество модификаций

В этом и причина sad Так что обновляйся до 10, проблемы должны пропасть!

39

Re: Общая тема по редиректам и борьбе с дублями в DLE

АлаичЪ, ты писал в комментариях редирект, с двух доменов на третий:

RewriteCond %{HTTP_HOST} ^site.com [OR]
RewriteCond %{HTTP_HOST} ^сайт.рф
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

Подскажи пожалуйста, а как сюда добавить те же домены только с приставкой www., то есть чтобы с доменов:

site.com
www.site.com
сайт.рф
www.сайт.рф
www.site.ru

делался редирект на:

site.ru

40

Re: Общая тема по редиректам и борьбе с дублями в DLE

Вот как-то так должно быть:

RewriteCond %{HTTP_HOST} ^site.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.site.com$ [OR]
RewriteCond %{HTTP_HOST} ^сайт.рф$ [OR]
RewriteCond %{HTTP_HOST} ^www.сайт.рф$ [OR]
RewriteCond %{HTTP_HOST} ^www.site.ru$
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

Правда вот на счет сайт.рф я не уверен. Возможно придется кодировать его в международный формат _http://xn--80aswg.xn--p1ai/