Собственно сделать это нужно было давно, но у меня руки дошли только сегодня.

А началось все с того что я решил изменить структуру пермалинков моего блога. По умолчанию предлагает использовать структуру /год/месяц/число/название_статьи, я решил изменить это на /год-месяц-число-название_статьи.html. Менятется все просто, а вот пользователи и поисковики при переходе по старым ссылкам теперь получают Error 404 Not found. Исправить это досадное недоразумение достаточно просто зная как работает mod_rewrite. В моем случае нужно было написать две строчки в .htaccess сразу после RewriteBase /, вот таких вот

RewriteRule ^([0–9]+)/([0–9]+)/([0–9]+)/(.*)\.html$ /$1-$2-$3-$4.html [R=301,L]
RewriteRule ^([0–9]+)/([0–9]+)/([0–9]+)/(.*)\.html/feed$ /$1-$2-$3-$4.html/feed
[R=301,L]

После этого все старые ссылки перенаправляются на новые.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Связанные записи