2012-04-09 9 views
0

私は顧客のために新しいデザイン/ウェブサイト構造を実装しようとしていますが、少し問題があります。私が作成したURLは少し異なるので、私は壊れたURLの束のためにSEOランキングの問題を予期しています。私の考えは、既存のURL(古いサイトのURL)を新しいURLと照合することです。データベースからの2つの列を一致させる

私がつまずいてきた問題は以下の通りです:

古いURLをhttp://www.example.com/category/numeric_id-item-name_item_code.htmlのようなものと新しいURLは、私が上含む新しいデータベースを作成したMySQLのでhttp://www.example.com/item_name-item_code.

のようなものです最初の列はitem_nameとitem_codeを古いWebサイトから、2番目の列は新しいデータベースから同じ情報を取得します。それは次のように

考え方は次のとおりです。 例:我々は、コードsl34春の葉という項目があるとしましょう。古いURLはhttp://www.example.com/springs/53-spring-leaf-sl34.htmlのようなものになります。製品は、彼らが製品の新しいウェブサイトではない場合は名前http://www.example.com/iron-spring-leaf-sl34

  • を変更した場合http://www.example.com/spring-leaf-sl34
  • 新しいウェブサイトである場合

    1. :このURLをマッチングするための は、3つの可能性があるhttp://www.example.com/springs

    私はこれらのマッチの作成に助けが必要です。

    ありがとうございます。

  • +0

    商品コードと商品名が両方ともアルファベットの数字である場合、どのように区別されますか? –

    +0

    Hmmm ...あなたは私に理想を与えているかもしれません...その例では安定しているのは製品コードだけです...製品コードと一致させることができ、 "Matching_id Old_URL New_URL"のような表。 –

    +0

    これがうまくいかない場合は、コードレベル(PHP +データベースを使用)でURLをチェックし、コードから301リダイレクトを発行することができます。 –

    答えて

    0

    ので、どうやら、私はクイックフィックスのいくつかの種類を見つけた:

    CREATE 
        VIEW `database`.`url_view` 
        AS 
    (SELECT old_table.old_url, new_table.new_url FROM old_table LEFT JOIN new_table ON old_table.product_code=new_table.product_code); 
    

    古いURL(製品)は、それが利用可能でなくなった場合、これは、新しいものと古いURLを関連付けない、となります(NULL)エントリを挿入します。

    関連する問題