1

私は、訪問者が実際のWebサイトの配色を選択するスプラッシュ画面で迎えられるWebサイトを設定しています。それらの選択に基づいて、実際のWebサイトには異なるスタイルシートがロードされます。これは、フラグをURLに連結し、次のページでフラグが設定されたURLを読み取って、ロードするスタイルシートを決定することで実行できます(たとえば、ダークテーマをロードするには、URLは次のようになりhttp://www.mywebsite.com/index-darkます。ライトテーマのリンクをクリックします。 URLを作成しますhttp://www.mywebsite.com/index-light。問題は、URLにフラグを追加する方法、または別のページでこのフラグを読み取る方法がわからないことです。問題をグーグルで調べてみましたが、実用的な情報はほとんど見つかりませんでした。これは行われますか?

編集:私は複数のテーマを持っているので、2つの別々のページを使用することを避けたいです。つまり、基本的にルート内のすべてのHTMLページを複数回コピーし、スペースを占有することを意味します。$_GETしかし、私は隠された変数のアイデアが好きです。

4

2 に答える 2

1

これ以上の情報がなければ、私はいくつかの一般的なアドバイスしかできません。

したがって、PHPでページを作成していると仮定します。したがって、2つの異なるURLを使用し、mod_rewriteを使用して変換することができますが、それは/index-darkくだらない/index?style=darkことです。

おそらく必要なのは、Cookieまたはセッションを使用することです。基本的に、テーマ設定のCookieまたはセッション値を確認し、ページを生成するときに適切なCSSファイルを選択します。

これにはいくつかの利点があります。

  • URLの書き換えを使用する必要はありません。これは、エラーが発生しやすい最善の方法です。
  • 永続的な設定を可能にし(Cookieを使用する場合)、複雑なURLを必要としません。
  • コードの山を変更せずにテーマを追加できます。テーマセレクターと新しいCSSファイルに設定を追加するだけです。

GET変数は通​​常、そのリクエストで送信される特定のデータにのみ役立ちます。POST変数と少し似ていますが、ほとんどの場合、フォームと送信されたデータに使用されます。永続的な設定が必要な場合は、セッション/Cookieが最適なオプションです。

于 2012-07-23T22:18:28.223 に答える
0

あなたが言及している「フラグ」は、おそらく実際には$_GETを使用して偽装された変数ですmod_rewrite。あなたができることは、ファイルを編集して、たとえば(残念ながら、これを正確に行う方法の経験がありません。それができることを知っているだけです)に.htaccess変更する書き換えルールを追加し、PHPをキャッチすることです。www.mywebsite.com/index.php?style=index-darkwww.mywebsite.com/index-dark$_GET['style']

于 2012-07-23T22:03:43.067 に答える