Убрать дубли после смены ЧПУ

12
piratstvo
На сайте с 15.04.2009
Offline
123
1633

дрогие коллеги!

прошу помочь советом

не знаю, что решить

в общем, по рекомендации одного человека сменил тип ЧПУ

раньше URL был такой:

домен/id-новость.html

сейчас URL имет такой вид

домен/категория/id-новость.html

ссылки на внутряк ещё не закупались но новым URL

как решить вопрос с дублями?

1. сделать редирект с домен/id-новость.html на домен/категория/id-новость.html

2. вернуть тип чпу назад :) и сделать редирект наоборот

домен/категория/id-новость.html на домен/id-новость.html

3. ваши варианты

буду благодарен всем, кто окажет помощь

AM
На сайте с 09.01.2007
Offline
467
#1
piratstvo:
раньше URL был такой:
домен/id-новость.html

сейчас URL имет такой вид
домен/категория/id-новость.html

А в чем смысл такого изменения?

piratstvo
На сайте с 15.04.2009
Offline
123
#2
AndyM:
А в чем смысл такого изменения?

давайте не будем обсуждать смысл. проблема есть. и как её решить - это главная для меня задача.

AM
На сайте с 09.01.2007
Offline
467
#3
piratstvo:
давайте не будем обсуждать смысл. проблема есть. и как её решить - это главная для меня задача.

ну тогда тупо ставьте 301 редирект со старого адреса страницы на новый

piratstvo
На сайте с 15.04.2009
Offline
123
#4
AndyM:
ну тогда тупо ставьте 301 редирект со старого адреса страницы на новый

таких страниц не одна тысяча :)

siv1987
На сайте с 02.04.2009
Offline
427
#5
piratstvo:
таких страниц не одна тысяча :)

Вроде как средствами php тоже можно сделать редирект

iren K
На сайте с 28.12.2008
Offline
222
#6
piratstvo:

как решить вопрос с дублями?

немного не понятен вопрос..

но имхо есть два варианта

- редирект дублей одной и той же страницы на основной ее адрес:


Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.site.ru/ [R=301,L]
таким образом получаете редирект всех страниц-дублей на http://www.site.ru/

либо можете убрать сессии(PHPSESSID)

php_flag session.use_only_cookies On
php_flag session.use_trans_sid Off
c уважением Iren
[Удален]
#7

ТС, прочтите вот эту заметку, найдете ответ на свой вопрос.

piratstvo
На сайте с 15.04.2009
Offline
123
#8
Mr.T:
ТС, прочтите вот эту заметку, найдете ответ на свой вопрос.

Круто! Помогло. Не ожидал, что всё так просто. Большое спасибо 🍻

dlepro_com
На сайте с 16.12.2009
Offline
39
#9
piratstvo:
дрогие коллеги!
прошу помочь советом
не знаю, что решить
в общем, по рекомендации одного человека сменил тип ЧПУ
раньше URL был такой:
домен/id-новость.html

сейчас URL имет такой вид
домен/категория/id-новость.html
ссылки на внутряк ещё не закупались но новым URL

как решить вопрос с дублями?
1. сделать редирект с домен/id-новость.html на домен/категория/id-новость.html
2. вернуть тип чпу назад :) и сделать редирект наоборот
домен/категория/id-новость.html на домен/id-новость.html
3. ваши варианты

буду благодарен всем, кто окажет помощь

Ещё вариант:

ищите в index.php:

if ($dle_module == "showfull" ) {

и ниже добаляете:

$news_name = substr ($news_name, 0, strlen ($news_id)) != $news_id ? $news_name : substr ($news_name, strlen ($news_id) + 1);
$full_link = $config['http_home_url'] . get_url ($category_id) . '/' . $news_id . '-' . $news_name . '.html';
if ($full_link != $config['http_home_url'] . substr ($_SERVER['REQUEST_URI'], 1)) {
header ($_SERVER['SERVER_PROTOCOL'] . '301 Moved Permanently');
header ('Location: ' . $full_link);
die ();
}

всё!

[Удален]
#10

dlepro_com, посмотрите ссылку, которую я дал ТС, там обновление хака.

P.S. Авторство нужно указывать ;)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий