Совмещение старой версии сайта и новой на WordPress

Есть сайт с несколькими тысячами страниц, проиндексированных всеми, кем можно.
Урл страниц вида /?h=bla-bla-bla

Сейчас ставлю новую версию сайта на wordpress и хочу включить ЧПУ.
С другой стороны не могу придумать, как оставить живыми и старые урл и новые чпу-шные.

Такое возможно?
Есть у меня смутные сомнения, что надо копать в сторону htaccess, но я в нем слаб.

Или есть другой выход?

Урл страниц вида /?h=bla-bla-bla

А ссылочку можно? Никогда такого не видел!

Если ссылки все-таки вида /?p=12345, то они никуда не денутся при включении ЧПУ.

ссылочки вида /?p=spv&id=5567
т.е. раздел и id статьи

задумался об анализе реквест_ури в index.php … минус – автоматом не обновишься потом…

Я чего-то подумал, что старый сайт тоже на wp.

Попробуйте следующий маневр. В файл темы functions.php добавить

function my_rewrite() {
    $uri = $_SERVER['REQUEST_URI'];

//  нормализация uri

        $_SERVER['REQUEST_URI'] = $uri;
}

add_action('init','my_rewrite',1);

Так номера записей после перехода на WordPress изменятся? Если так, то только 301-редирект на новые адреса.

MAX +1! Хороший вопрос.

Только что-то мне кажется, что проще придумать механизм сохранения номеров, чем сделать таблицу редиректов на несколько тысяч записей. Как вариант – старый номер/урл хранить в доп. поле или в giud.

Старый движок самописный на Perl без использования базы данных.
Судя по всему придется отслеживать урл и либо выдавать контент с wordpress, либо запускать старый с огромной надписью-ссылкой на актуальный контент.
Получиться – отпишу 🙂

Так напишите экспорт старого контента в xml (в стиле WP) и импортируйте результат в WP. Старый линк – в guid. Поиск соответствия – один запрос к базе. Нашлось – подменили uri, нет – оставили как есть.

Старый линк - в guid.

Сегодня целый день общался с "болгаркой" (металл резал) что-то не соображу толком куда старый линк? :rolleyes:

Видать, Вы не смотрели внимательно ни экспортный файл wp, ни структуру базы. Вот для примера один item из экспорта:

<item>
<title>Превед!</title>
<link>http://home.lan/news/preved.htm</link>
<pubDate>Tue, 13 Nov 2007 18:43:51 +0000</pubDate>
<dc:creator>admin</dc:creator>

        <category><![CDATA[Новости]]></category>

<guid isPermaLink="false">http://localhost/news/preved.htm</guid>
<description></description>
<content:encoded><![CDATA[Часть 1
<!--more превед, медвед-->
Часть 2]]></content:encoded>
<wp:post_id>9</wp:post_id>
<wp:post_date>2007-11-13 20:43:51</wp:post_date>
<wp:post_date_gmt>2007-11-13 18:43:51</wp:post_date_gmt>
<wp:comment_status>open</wp:comment_status>
<wp:ping_status>open</wp:ping_status>
<wp:post_name>preved</wp:post_name>
<wp:status>publish</wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type>post</wp:post_type>
    </item>

Видите тег guid? В таблице wp_posts есть это поле. Думаю, его можно задействовать. Если не ошибаюсь, к нему только одно требование – уникальность.

Anonymous
Отправить
Ответ на: