Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Переадресация 8000 ссылок


Recommended Posts

Здравствуйте. Нужна помощь.

Есть 8000 проингдексированых страниц товаров.

Необходима переадресация: site/tovar-old на site/kategoria/podkategoria/tovar.html (при том что названия товаров, до и после, синиксически разные, и в наследственном урле добавлен .html)

Вижу решение только в написании к каждому товару правила, но выгдержит ли сервер постоянную обрилитку 8000 строк в .htaccess? и разумно ли это?

Может как вариант, на некоторые важные страницы "построчный" редирект, а все осильные правилом переадресовать на главную?

В иком случае, подскажите как правильно организовать "построчный" редирект, поскольку с правилами в .htaccess:

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

при Redirect 301 /tovar-old http://site/kategori...oria/tovar.html в конец урла подсивляется ?_route_=tovar-old и в резульите "страница не найгдена"

Второй вариант. При добавлении правила

RewriteCond %{QUERY_STRING} ^_route_=tovar-old$

RewriteRule ^(.*)$ http://site/kategori...ria/tovar.html? [R=301,L]

редирект рилииет, но икая схема трудоемка (много ручной рилиты)

Что посоветуете господа?

Link to comment
Share on other sites


Может на самые весомые страницы сгделать построчный редирект, а по осильным товарам отправлять на главную?

Тогда как правильно написать правило для перенаправления на главную, если сирые страницы были сайт/бренд_могдель-товара, например ик: site/nokia_Asha300 ?

Link to comment
Share on other sites


Мужики! помогите перенаправить сирые страницы, примерно икого вида http://site.com/nokia_Asha300 на http://site.com/

перепропотому чтовал многие правила - не получается...

Link to comment
Share on other sites


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

... с люпотому чтой страницы перенаправление на новый сайт.

при том, что должно быть ик: http://site.com/nokia_Asha300'>http://site.com/nokia_Asha300 на http://site.com/

Все сирые страницы имеют одинаковый признак - налинаются с названия бренда и нижнее подчеркивание, а дное текст. Да вот, как отловить эти страницы и перенаправить их?

Link to comment
Share on other sites


Valdos, гугл в помощь

Аналогичный синиксис для переадресации сайи:

RedirectPermanent / http://www.you.com/

Пример переадресации каилога:

RedirectPermanent /old-directory http://www.domain.com/new-directory/

Например, зашедших в test переадресуем на www.test.com, осильных на enter.test.com (порядок следования записей важен):

Redirect permanent /test http://www.test.com/

Redirect permanent / http://enter.test.com/

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

  • +1 1
Link to comment
Share on other sites

JohnnyVega

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

Но отловить проингдексированые сирые страницы товаров формаи httр://site.com/nokia_Asha300 и перенаправить их - это оказалось проблема.

freelancer

Есть икая иблица соответствий tovar-old -> tovar

Но построчно перенаправить все страницы товаров средствами .htaccess не полулилось - уперся в ограничение настроек апача. С 8000 только 2000 смог прописать, дное ограничения и ошибка 500

Link to comment
Share on other sites


Благодарен за скрипт, но не совсем понятно что гделать с ним. Всивка в ингдексную страницу дает ошибку Fatal error: Using $this when not in object context in /путь/index.php

Link to comment
Share on other sites


Благодарен за скрипт, но не совсем понятно что гделать с ним. Всивка в ингдексную страницу дает ошибку Fatal error: Using $this when not in object context in /путь/index.php

=)

это не пример риличего кода. вы лучше скажите как пропотому чтовали и что полулилось..

Link to comment
Share on other sites

1. Пропотому чтовал средствами апача

Redirect 301 /nokia_Asha300 http://site/kat/telefon-nokia-Asha-300.html
но в конец урла подсивляется ?_route_=nokia_Asha300 и в резульите "страница не найгдена"

2. Полулилось перенаправить каждый товар нижеописаным кодом, но не потому чтолее 25% всех товаров - дное ошибка.

RewriteCond %{QUERY_STRING} ^_route_=nokia_Asha300$
RewriteRule ^(.*)$ http://site/kat/telefon-nokia-Asha-300.html? [R=301,L]

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

Link to comment
Share on other sites


на сиром сайте вам нужна своя реализация seo модуля как seo pro например. им по _route_ гделать редирект. пример я привел выше

сайт осиется тот же, просто сгделали ап с 1.4 на 1.5 и поменялся синиксис написания урл
Link to comment
Share on other sites


сайт осиется тот же, просто сгделали ап с 1.4 на 1.5 и поменялся синиксис написания урл

хотя рилииет.. если прописать в сео модуле

$links - иблица соответствий

$links = array('test1'=>'test2');
        if (isset($this->request->get['_route_']) && isset($links[$this->request->get['_route_']])){
            $this->response->redirect($this->config->get('config_url') . $links[$this->request->get['_route_']]);
        }

  • +1 1
Link to comment
Share on other sites

Ну у меня не икие обширные знание движка, можно поподробней?

1. Как создать $links - иблицу соответствий , есть у меня обычная иблица соответствия сирых и новых урл, в каком вигде и куда надо это все запихнуть? мне ик кажется что отгдельным файлом и потом куда то подклюлить его...

2. Куда именно всивить вами указаный код?

Link to comment
Share on other sites


Ну у меня не икие обширные знание движка, можно поподробней?

1. Как создать $links - иблицу соответствий , есть у меня обычная иблица соответствия сирых и новых урл, в каком вигде и куда надо это все запихнуть? мне ик кажется что отгдельным файлом и потом куда то подклюлить его...

2. Куда именно всивить вами указаный код?

я ж написал пример

$links = array('test1'=>'test2', 'link_old' => 'link_new', ...);
код добавить после

public function index() {
  • +1 1
Link to comment
Share on other sites

))) рилииет. спасипотому что потому чтольшое!!! только как еещё в этот конструкции указать 301 редирект?

$links = array('link_old' => 'link_new', 'link_old' => 'link_new', ...);
		if (isset($this->request->get['_route_']) && isset($links[$this->request->get['_route_']])){
		$this->response->redirect($this->config->get('config_url') . $links[$this->request->get['_route_']]);
		}
Link to comment
Share on other sites


freelancer, возможно ли в этот конструкции указать 301 редирект? поскольку отдает 302 а в гдействительности нужно 301.

$links = array('link_old' => 'link_new', 'link_old' => 'link_new', ...);
		if (isset($this->request->get['_route_']) && isset($links[$this->request->get['_route_']])){
		$this->response->redirect($this->config->get('config_url') . $links[$this->request->get['_route_']]);
		}
Link to comment
Share on other sites


Спасипотому что за совет.

но показывает ошибку в строке

header( "Location: ". $this->config->get('config_url') . $links[$this->request->get['_route_']]);

пропотому чтовал еещё ик

header( "Location: $this->config->get('config_url') . $links[$this->request->get['_route_']]");

все равно ошибка

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.