0

これを説明するために最善を尽くします。アフィリエイトサイトを立ち上げています。ユーザーがサインアップできるようにすると、提供したユーザー名がデータベースに書き込まれます。その後、アフィリエイト サイトにアクセスできますwww.domain.com/affiliate/username

.htaccess ファイルで url:www.domain.com/affiliate/home.php?affiliate=usernameをリダイレクトしています。www.domain.com/affiliate/username

それが理にかなっていることを願っています。私が必要としているのは、サイト全体でそのユーザー名変数を一定に保つ方法です。そのため、彼らが のホームページにdomain.com/affiliate/usernameいて、[概要] ページなどをクリックした場合、それが にとどまるようにしたいと考えていますdomain.com/affiliate/username。そうすれば、その人が何かを買いに行くときは、正規のdomain.comサイトではなくアフィリエイト サイトで購入するようにしています。

どんな助けでも大歓迎です。私はこれが初めてなので、ご容赦ください。ありがとう!

4

1 に答える 1

1

mod_rewrite / .htaccess とは何の関係もない 3 つのアプローチを簡単にまとめました (これを私が学んだことの例にすると、XY 問題と呼ばれます):

  • 彼らの元のアフィリエイトで Cookie を設定します。Cookie が設定されたら URL を無視し、予約を適切なアフィリエイトにクレジットしてください。(既に PHP セッションを使用している場合は、そこにアフィリエイトを貼り付けることができます。これは、ほぼ同じことになります。)
  • リンクまたはフォームを表示するたびに適切な URL にプッシュされるように、PHP コード内のすべての URL を書き換えます。書くのははるかに難しく、バグを導入するのは簡単です。
  • サブディレクトリではなくサブドメインを使用し (例:affiliate42.example.com)、すべてのリンクをベース相対にします。障害の 1 つは、すべてのサブドメインをカバーするワイルドカード SSL 証明書が必要になることです。これは少し高価です。

書き換えルールでこれを本当にやりたい場合は、おそらく何らかの方法で Cookie オプションと組み合わせることができます。Cookie に基づいて、異なる方法でリダイレクトします。しかし、これに大きな利点があるかどうかはわかりません.POSTによって送信されるフォームは、一貫してリダイレクトするのが難しいため、おそらくPHPレイヤーで処理する必要があります.

于 2013-07-03T23:37:13.710 に答える