Да, знаю, всех достали вопрос про 301 redirect. Реально 2дня безрезультатно ищу ответ

R
На сайте с 21.02.2008
Offline
71
848

Весь Интернет перерыл, кучу всего испробовал, ничего не получается. Уже не знаю, где еще искать. Ситуация такая:

сайт сделан был на joomla, перевел на joostina, в глобальной конфигурации включена опция "Дружественные для поисковых систем URL-ы (SEF)".

Необходимо старые ссылки типа

http://www.site.ru/index.php?option=com_content&view=article&id=55&Itemid=64

переадресовать на новый адрес, например

http://www.site.ru/content/blogcategory/4/8/

Никакой закономерности нет, т.е. для каждой страницы нужно создавать отдельное правило.

Из последнего, что я пробовал

вариант 1

RewriteCond %{QUERY_STRING} ^option=com_content&view=article&id=55&Itemid=64$

RewriteRule index\.php$ http://www.site.ru/index.php/content/blogcategory/4/8/ [L,R]

в этом случае в результате переадресации адрес в адресной строке приобретает такой вид

http://www.site.ru/index.php/content/blogcategory/4/8/?option=com_content&view=article&id=55&Itemid=64

вариант 2

RewriteCond %{QUERY_STRING} ^/index.php?option=com_content&view=article&id=55&Itemid=64$

RewriteRule ^(.*)$ http://www.site.ru/content/blogcategory/4/8/ [L,R=301]

в последнем случае вообще не происходит переадресация, просто сообщает, что такая страница не существует.

Да, и еще: пробовал отключить в joostina опцию "Дружественные для поисковых систем URL-ы (SEF)" и применить переадрессцию

RewriteCond %{QUERY_STRING} ^option=com_content&view=article&id=55&Itemid=64$

RewriteRule ^(.*)$ /index.php?option=com_content&task=blogcategory&id=4&Itemid=8 [R=301,L]

Сработало

Но... проблема в том, что все ссылки внутри в шаблоне и т.п. установлены уже с учетом адресов a-la "http://www.site.ru/content/blogcategory/4/8/". Да и вообще уже интересно стало, как же это реализовать. Два дня роюсь в интернете, уже сил нет просто. Уже готов сдаться, но... но ведь как-то же это делается. В программировании сам слаб, вероятно, именно поэтому такая низкая результативность.

Помогите, пожалуйста.

PyMbIH
На сайте с 22.11.2009
Offline
76
#1

Rustya, а в настройках SEF компонента у Вас разве нет такой опции, как установка 301-го редиректа? Написали какой адрес был, и какой стал, и все.

SG
На сайте с 22.04.2008
Offline
32
SAG
#2

А просто

RewriteRule <старый урл> <новый урл> [R=301,L]

Пробовали?

Портфолио (http://beastman.me). Верстаю (/ru/forum/228498). Програмлю (/ru/forum/348359). Последние отзывы (/ru/forum/470865). Контакты: ICQ: 31377144пять;E-mail: andrschwartz<собако>gmail.com
R
На сайте с 21.02.2008
Offline
71
#3
SAG:
А просто
RewriteRule <старый урл> <новый урл> [R=301,L]
Пробовали?

Пробовал такой вариант

RewriteRule http://www.site.ru/index.php?option=com_content&view=article&id=55&Itemid=64 http://www.site.ru/content/blogcategory/4/8/ [L,R]

404 ошибка. тут дело, думаю, в том, что это не просто статичная html-страница, а php, в адресной строке которой передаются переменные, и именно в этих переменных-то как раз и заключается проблема при попытке переадресации.

Rustya добавил 18.09.2010 в 13:46

PyMbIH:
Rustya, а в настройках SEF компонента у Вас разве нет такой опции, как установка 301-го редиректа? Написали какой адрес был, и какой стал, и все.

это работает стандартный компонент, в котором просто настройки типа "Дружественные для поисковых систем URL-ы (SEF):" с вариантами "Да", или "Нет".

PyMbIH
На сайте с 22.11.2009
Offline
76
#4

Rustya, а поставить нормальный компонент не вариант? Или опасаетесь "сумасшедших" нагрузок на сервер?

R
На сайте с 21.02.2008
Offline
71
#5
PyMbIH:
Rustya, а поставить нормальный компонент не вариант? Или опасаетесь "сумасшедших" нагрузок на сервер?

Спасибо! Сейчас попробую установить и настроить Artio joomsef-2.3.2. По итогам эксперимента отпишусь.

PyMbIH
На сайте с 22.11.2009
Offline
76
#6

Rustya, не нужно отписываться, все будет хорошо ;)

R
На сайте с 21.02.2008
Offline
71
#7

Эх, если бы. Компонент установил. Затем в .htacess закоментировал блок, относящийся к стандартному компоненту SEF и раскоментировал блок для сторонних компонентов. Стандартный компонент. В настройках компонента выставил, использовать псевдонимы. Проверил - заработали псевдонимы и адреса страниц исправились на адреса a-la "http://www.site.ru/setka-steklotkanevaya/setka-steklotkanevaya-sd-glass.html". Т.е. компонент заработал. Отлично. Далее захожу в раздел настроек данного компонента "Смотреть/Редактировать 301 ссылки". Там создаю переадресацию.

в части "перенесено от URL" указываю "http://www.site.ru/index.php?option=com_content&view=article&id=55&Itemid=64"

в части "Перенесено к URL" указываю любой новый существующий адрес, а именно "http://www.site.ru/setka-steklotkanevaya/setka-steklotkanevaya-sd-glass.html"

и... ничего

при попытке перейти на старый адрес "http://www.site.ru/index.php?option=com_content&view=article&id=55&Itemid=64" выдает 404 ошибку.

Ужас какой-то. Как же я замучался с этим сайтом.

Rustya добавил 18.09.2010 в 17:38

Пока не нашел решения.

Rustya добавил 18.09.2010 в 19:03

Может, кто согласится помочь за вознаграждение? Много не обещаю, но мне действительно очень нужно решить этот вопрос.

Rustya добавил 18.09.2010 в 19:05

PyMbIH:
Rustya, не нужно отписываться, все будет хорошо ;)

В общем, у меня облом.

Rustya добавил 18.09.2010 в 22:56

В общем, тема постепенно переместилась вниз в форуме и скоро совсем исчезнет из вида. А проблему решить я так и не смог.

SG
На сайте с 22.04.2008
Offline
32
SAG
#8

Короче, 15wmz, я посмотрю, но чую у вас там тупо не в том порядке правила расставлены.

Контакты в подписи.

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