Page 1 of 1

И снове редирект! ???

Posted: Mon May 27, 2013 11:30 pm
by artbe
Добрый день!
Есть сайт (а точнее, подобие интернет магазина, с недостающим функционалом), и в планах перехать на другой движок. Яндекс проиндексировал около 900 страниц сайта, и около 800 из них в выдаче.

Вопрос как правильно все это дело склеить, чтобы не потерять выдачу?
Все ссылки имеют такой вид:

Code: Select all

mysite.ru/katalog/tuning-bmw/bmw-dzipi/x6
или

Code: Select all

mysite.ru/katalog/tuning-nissan/nissan-dzhipi/safari
А будет что то вроде -

Code: Select all

mysite.ru/products/x6

и

Code: Select all

mysite.ru/products/safari


Т.е. mod_rewrite включен. Как это правильно все прописать в .htaccess??

P.S. и как склеить скажем для всех страниц вида: index.php?option=com_content&view=article&id=14&Itemid=13
На нормальную страницу?

Re: И снове редирект! ???

Posted: Tue May 28, 2013 9:43 am
by guro
Редирект

Code: Select all

RewriteRule ^katalog/.*/(.*)$ /products/$1 [R=301,L]
artbe wrote:P.S. и как склеить скажем для всех страниц вида: index.php?option=com_content&view=article&id=14&Itemid=13На нормальную страницу?
Что значит "нормальная страница"? К чему из указанного урл можно привязаться? На какой адрес должна вести данная страница?

Re: И снове редирект! ???

Posted: Tue May 28, 2013 11:04 pm
by artbe
guro wrote:Редирект

Code: Select all

RewriteRule ^katalog/.*/(.*)$ /products/$1 [R=301,L]
artbe wrote:P.S. и как склеить скажем для всех страниц вида: index.php?option=com_content&view=article&id=14&Itemid=13На нормальную страницу?
Что значит "нормальная страница"? К чему из указанного урл можно привязаться? На какой адрес должна вести данная страница?
Неправильно выразился, имелось ввиду человеко понятные url, например из:

Code: Select all

site.ru/index.php?option=com_content&view=article&id=14&Itemid=13
Сделать вот это:

Code: Select all

site.ru/articles/sometext

Re: И снове редирект! ???

Posted: Wed May 29, 2013 10:49 am
by guro
artbe wrote:Неправильно выразился, имелось ввиду человеко понятные url, например из:

Code: Select all

site.ru/index.php?option=com_content&view=article&id=14&Itemid=13
Сделать вот это:

Code: Select all

site.ru/articles/sometext
Прям так не получится. Можно сделать примерно вот так:

Code: Select all

site.ru/articles/13
а что за cms?

Re: И снове редирект! ???

Posted: Wed May 29, 2013 10:06 pm
by artbe
В данный момент переношу с Jooml'a на simpla cms.
Потом буду другой сайт переносить с cmsms тоже на simpla.

На Jooml'e как раз и "висят" такие ссылки.

Code: Select all

ite.ru/index.php?option=com_content&view=article&id=14&Itemid=13

Re: И снове редирект! ???

Posted: Sun Jun 02, 2013 11:22 pm
by artbe
Все еще актуально....

Re: И снове редирект! ???

Posted: Mon Jun 03, 2013 8:45 am
by guro
Ну так я в предыдущем своем посте написал вариант, который возможен.

Сделать как хотите вы можно только прописывая правило для каждого урла. Я думаю вы понимаете, что это не реально.

PS
Есть конечно вариант переадресовки страницы средствами PHP. Для этого вам в джумле потребуется:
1. Сделать доступными страницы вида site.ru/articles/sometext
2. Перед загрузкой страницы проверять урлы site.ru/index.php?option=com_content&view=article&id=14&Itemid=13 на наличие алтернативной ссылки site.ru/articles/sometext и переадресовывать через

Code: Select all

header( "HTTP/1.1 301 Moved Permanently" );
header('location: site.ru/articles/sometext');

Re: И снове редирект! ???

Posted: Tue Jun 04, 2013 3:56 am
by artbe
Подскажите пожалуйста как сделать из:

Code: Select all

site.ru/index.php?option=com_content&view=article&id=14&Itemid=13
Вот это:

Code: Select all

site.ru/articles/13
Голову уже сломал!)

Делал редирект по разному, не как не получается то что мне надо, например если сделать так:

Code: Select all

RewriteRule ^page=shop.product_details&flypage=flypage_size.tpl&product_id=24&category_id=6&option=com_virtuemart&Itemid=2&vmcchk=1&Itemid=2 /products/oulin-ol-203 [R=301,L]
То редирект работает, при условии что ссылка будет вида:

Code: Select all

site.ru/page=shop.product_details&flypage=flypage_size.tpl&product_id=24&category_id=6&option=com_virtuemart&Itemid=2&vmcchk=1&Itemid=2
он и перейдет на указанную страницу - oulin-ol-203.

Но в индексе Яндекса и т.д. - плотно сидят ссылки вида:

Code: Select all

site.ru/INDEX.PHP/page=shop.product_details&flypage=flypage_size.tpl&product_id=24&category_id=6&option=com_virtuemart&Itemid=2&vmcchk=1&Itemid=2
И если сделать так:

Code: Select all

RewriteRule ^index.php?page=shop.product_details&flypage=flypage_size.tpl&product_id=24&category_id=6&option=com_virtuemart&Itemid=2&vmcchk=1&Itemid=2 /products/oulin-ol-203 [R=301,L]
То выдается страница 404.

Re: И снове редирект! ???

Posted: Tue Jun 04, 2013 12:34 pm
by guro
artbe wrote:Подскажите пожалуйста как сделать из:

Code: Select all

site.ru/index.php?option=com_content&view=article&id=14&Itemid=13
Вот это:

Code: Select all

site.ru/articles/13

Code: Select all

RewriteCond %{QUERY_STRING} ^option=com_content&view=article&id=14&Itemid=([0-9]*)$
RewriteRule ^index.php$ /articles/%1/? [R=301,L]
artbe wrote:Но в индексе Яндекса и т.д. - плотно сидят ссылки

Code: Select all

RewriteCond %{QUERY_STRING} ^page=shop.product_details&flypage=flypage_size.tpl&product_id=24&category_id=6&option=com_virtuemart&Itemid=2&vmcchk=1&Itemid=2$
RewriteRule ^index.php$ /products/oulin-ol-203? [R=301,L]