Помогите написать 301 редирект для УРЛов

WebProffy
На сайте с 28.07.2006
Offline
81
493

Здравствуйте!

Я перешел с движка Джумла на другой движок ModX. И мне нужно редиректить УРЛы со старых на новые, чтобы не потерять вес этих страниц и позиции...

Как в этом случае будет выглядеть 301 редирект?

Необходимо редиректить УРЛ к примеру такого вида:

/index.php?option=com_content&view=article&id=48&Itemid=54

на УРЛ:

/page.html

И УРЛ такого вида:

/index.php/articles/statya

на УРЛ:

/statya.html

Помогите ПЛЗ!!!

Повышение прибыльности коммерческих сайтов (http://www.ecommerceschool.ru/) Школа Поисковой Оптимизации (http://www.seoschool.ru/) Журнал веб-мастера (http://www.w3school.ru/blog/)
antoca
На сайте с 14.10.2008
Offline
137
#1

redirect 301 /index.php?option=com_content&view=article&id=48&Itemid=54 /page.html

redirect 301 /index.php/articles/statya /statya.html

WebProffy
На сайте с 28.07.2006
Offline
81
#2
antoca:
redirect 301 /index.php?option=com_content&view=article&id=48&Itemid=54 /page.html
redirect 301 /index.php/articles/statya /statya.html

Не работает!

Вообще по идее должно работать так:

Redirect /index.php?option=com_content&view=article&id=48&Itemid=54 http://www.site.ru/page.html

Но не работает!

В простых УРЛах прокатывает, а в подобных сложных - нет...

ХЕЛП!!!

Й
На сайте с 18.07.2009
Offline
20
#3
antoca:
redirect 301 /index.php?option=com_content&view=article&id=48&Itemid=54 /page.html
redirect 301 /index.php/articles/statya /statya.html

Человек просил для жумлы! 🔥

RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\=) [OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
RewriteCond %{QUERY_STRING} (\<|<).*script.*(\>|>) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

это была защита от доморощенных кулхацкеров. Дальше как раз идет SEF-секция.

# RewriteBase / - может понадобиться на тупых хостингах, обычно не требуется
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

Только помните, что для работы правил требуются псевдонимы из базы ☝ То есть добавлении статей указывайте псевдонимы, иначе вместо нормального урла типа /ivan/ivanych/ получите /123/28/09/2009 (id записи, дата)

WebProffy
На сайте с 28.07.2006
Offline
81
#4
йфяцыч:
Человек просил для жумлы! 🔥


Только помните, что для работы правил требуются псевдонимы из базы ☝ То есть добавлении статей указывайте псевдонимы, иначе вместо нормального урла типа /ivan/ivanych/ получите /123/28/09/2009 (id записи, дата)

Я, видимо, не полностью пояснил ситуацию:

Я перешел с движка Джумла на другой движок ModX. И мне нужно редиректить УРЛы со старых на новые, чтобы не потерять вес этих страниц и позиции...

Как в этом случае будет выглядеть 301 редирект?

Извините за неполное прояснение ситуации в первом посте. Я его подправил (дополнил).

antoca
На сайте с 14.10.2008
Offline
137
#5

Я слово движок не перевариваю. Если есть доступ к htaccess то всё можно сделать как выше написано.

Возможно в таких УРЛ с параметрами нужно амперсанты ставить, то есть заменять & на &amp;

и другие служебные символы. По крайней мере, в sitemap так нужно делать. Вероятно и тут тоже. Это предположение.

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