3

多数のリンク リダイレクトを処理するためのより効率的な方法があるかどうか疑問に思っています。背景: 私のサイトには 1 日に何万人ものユーザーがおり、アフィリエイト ウェブサイトの多数の個々の製品ページに「ディープ リンク」しています。

アフィリエイト リンクを「クローク」して 1 か所にまとめるため、現在、すべてのアフィリエイト リンクを 1 つの PHP ファイルから提供しています。たとえば、ユーザーが mysite.com/go.php?id=1 をクリックすると、アフィリエイト Cookie が追加された販売者のサイトのページで、製品を購入できます。私が使用しているコードは次のとおりです。

<?php

$path = array(
‘1′ =>  ‘http://affiliatelink1.com’,
‘2′ =>  ‘http://affiliatelink2.com’,
‘3′ =>  ‘http://affiliatelink3.com’,

);

if (array_key_exists($_GET['id'], $path))
header(‘Location: ‘ .$path[$_GET['id']]);
?>

私が抱えている問題は、私たちが毎日多くのユニークな製品にリンクしていることです.phpファイルには現在11,000以上のリンクが含まれており、毎日成長しています. ファイルのサイズが 2 MB 近くあり、ファイルのアップロード中はリンクが機能しないため、FTP 経由でファイルをダウンロードして編集するにはかなりの時間がかかることに既に気付きました。サーバーが単一のphpファイルを介して多くのリンクを提供するのが良いかどうかもわかりません-まだ速度低下に気づいていませんが、それが起こっていることは確かにわかります.

だから私は別のオプションを探しています。go.php は非常に大きいため、単純に新しい .php ファイル (go2.php など) を作成してより多くのリンクを格納することを考えていましたが、それでは効率が悪いようです。代わりにデータベースを使用する必要がありますか? 私もWordpressを使っているので、mySQLを使いすぎるのが気になり、単純にPHPでやった方が早いように思えますが、やはりよくわかりません。

私の他のオプションは、これらのアフィリエイト リンクを動的に作成する方法を見つけることです。つまり、製品の URL を取得してアフィリエイト コードを追加する別の PHP ファイルを作成し、これらすべてのリンクを含む php ファイルを手動で更新する必要をなくします。ただし、このような方法で 1 日に約 10 万回のクリックを処理した場合のサーバーへの影響についてはわかりません。

何かご意見は?私が使用している方法は、サーバーの特定の死を綴っていますか、それともパフォーマンスのためにそのままにしておく必要がありますか? データベースでこれを行うか、現在使用している単純なphpファイルよりもサーバーに動的に負荷をかけますか? どんな助け/アドバイスも大歓迎です!

4

1 に答える 1

3

私がすることは次のとおりです。

「my_new_product/1」のように、SEO 目的で製品名が含まれるように URL 形式を変更します。

次に、mod_rewrite を使用して、次のようなクエリ文字列でその URL をページにマップします。

Rewriterule ^([a-zA-Z0-9_-]*)/([0-9]*)$ index.php?id=$2 [L]

次に、次のフィールドを含むデータベース テーブルを作成します。

id (自動番号、一意の ID) url (リダイレクト先の URL) 説明 (サイトの URL を作成するテキスト)

次に、単純な CRUD を作成してそれらを簡単に最新の状態に保ち、ページが DB からのリンクのリストを提供できるようにします。

于 2010-11-29T19:25:34.643 に答える