Как правильно перенаправить?

L
На сайте с 25.04.2009
Offline
7
232

У моего сайта была проблема (или у меня? :-) ) в адресах всех ссылок было включено site.ru/index.php/en/razdel (выделено жирным). После некоторых манипуляций вроде бы все адреса сменились на нормальные site.ru/razdel. Однако в ПС яндекс ссылки ведут все на старые с index.php/en/ внутри, при этом пользователь, перейдя по ссылке с яндекса попадает на страницу 404.

Вроде как понимаю что надо использовать редирект 301 и в файле htaccess дописать правила, но вот с этими непонятными выражениями в файле вообще не дружу :(. Помогите составить пожалуйста!

PS: А как яндекс вообще отнесется к такому редиректу?

Leikocit добавил 01.08.2009 в 10:26

Пробую дописать так

RewriteRule ^(index.php/en/)/(.+)$ httр://site.ru/$1 [R=301,L]

в ответ при переходе по ссылке с яндекса вообще получаю строку:

http://site.ru/usr/home/20883/site.ru/html/http://site.ru/index.php/en/

Причина такого урла найдена - оказалось буква "р" в http была русской ), однако все равно не работало

При раздельном написании, те так:

RewriteRule ^index.php/(.+)$ http://site.ru/$1 [R=301,L]

RewriteRule ^en/(.+)$ http://site.ru/$1 [R=301,L]

все вроде бы работает, но насколько это правильно? Можно ли как-то это сделать в одно действие?

Leikocit добавил 01.08.2009 в 22:43

Эхъ...видимо нельзя :-(

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