3

joomlaベースの元サイトをwordpressに移動しました。インポートは正常に機能しましたが、問題は古いリンクが機能しなくなったことです。記事数が 50 程度しかないので、記事ごとに (.htaccess に) ルールを設定しておくとよいと思います。

うーん...常にあなたが望むようになるとは限らないので、リダイレクトはまったく機能しません:(

古い joomla リンクは次のようになります。

http://site.com/index.php?option=com_content&task=view&id=49&Itemid=29
http://site.com/index.php?option=com_content&task=view&id=42&Itemid=29
http://site.com/index.php?option=com_content&task=view&id=68&Itemid=29

そして、次のように翻訳する必要があります:

http://site.com/?p=23
http://site.com/?p=24
http://site.com/?p=25
  • 基本的に古いリンクと新しいリンクの間には関係がないので、正規表現は役に立たないと思います

  • 古いサイトと新しいサイトの両方が同じドメインにあります

わかりました、問題は、私が試した(そして私はたくさん試しました!)どのルールも機能しなかったということです。まれに 500 エラーが発生しますが、ほとんどの場合、リダイレクトは機能しませんでした。

それで、皆さんの中で同じ問題を抱えていた人はいますか?素敵なパーマリンクは必要ありませんが、できればそのほうがよいでしょう。問題は、古い URL への多くのバックリンクがあり、それらを失いたくないということです。

どうもありがとう!

4

4 に答える 4

1

サイトを Wordpress に移行したのは比較的最近のことですが、古い Joomla! の使用を妨げているものはありますか? ID は WP データベース テーブルにありますか? これにより、正規表現をかなり簡単に使用できるようになります。

もう 1 つのオプションは、Joomla! を処理する別の PHP スクリプトを作成することです。URL はその後、Wordpress の URL にリダイレクトされます。したがって、Apache 構成で index.php?option=com_content&task=view URL を検出し、「id」の値を見つけてから、Joomla からの ID のマップを持つ someotherscript.php にリダイレクトする正規表現を使用できます。ワードプレスへ。次に、このスクリプトは、header('Location: ?p=' . $id) を使用して、Wordpress の正しいページにリダイレクトします。

于 2008-12-03T17:55:12.707 に答える
1

アイデアをありがとう!これをindex.php(wordpresのデフォルト)に入れました:

if(isset($_GET['option'])) {
    if(is_numeric($_GET['id'])){
        header ('HTTP/1.1 301 Moved Permanently');
        header("Location: http://www.site.com/?p={$_GET['id']}");
        die();
    }else {
        die('Hacking attempt');
    }
}

そして、次のように機能します...素晴らしい!:D

于 2008-12-03T19:37:22.547 に答える
0

別のオプションは、リダイレクトプラグインを使用してこれを行うことであった可能性があります。テーマを変更または更新するたびに解決策が壊れることを防ぎます。

于 2009-01-29T02:15:20.563 に答える