2010-12-07 10 views
2

私の問題はそれほど簡単ではありません。私のために:-)私に向かって寛大にしてください。セッションと変数を除く変数を渡す方法はありますか?

私はリストを表示する方法がいくつかあります。つまり、私のリストを表示するビューを作成して作成する方法がいくつかあります。このwokrsはうまく並行してブラウザのタブを持っていて、好きです。

私のリストのアイテムをクリックすると、そのアイテムの詳細ビューが表示されます。

このビューでは、どのタイプのリストからリンクが「呼び出されたか」を知りたいと思います。最初の問題は、リファラーが常に同じで、2番目の問題です:私はURLにget変数を追加すべきではありません。 (そしてそれも提出されたフォームではありません)

私はそれをセッションに保存すると、パラレルタブで作業しているときにセッションのパラメータを上書きします。前のリストがであったモードを知ることで、今でも私の目標をachiveするための最良の方法は何か

+0

「get変数をURLに追加しないでください。提出されたフォームも) "どうしてですか? – Jere

+0

には、ユーザーフレンドリーなURL(取得不可)があり、すべてのブラウザ(フォームなし)でバックボタンを使用できるようにする必要があります。 – helle

+0

あなたは 'mod_rewrite'を調べるべきです - http://httpd.apache.org/docs/current/mod/mod_rewrite.html。 – stealthyninja

答えて

0

あなたがそうでなければ、あなたのサーバが知ることができません、別の1ページを区別するために何かを使用する必要がありますあなたが求めているもの。

リクエストをPOSTすることができます。これにより、URLパラメータは非表示になりますが、戻るボタンの機能が妨げられます。

あなたはあなたの要求を取得することができます。これはあなたのURLがより多くの「醜い」になりますが、あなたはwww.example.com/listDetail?id=12

のような短い、簡潔な識別子を渡すことで、その回避することができるはずですmod_rewriteを設定することができれば、www.example.com/listDetails/12のようなURLにGETリクエストを送ることができ、apacheはのバックグラウンドでのリクエストをwww.example.com/listDetails?idのように書き換えます= 12 ですが、ユーザーには表示されません - 元のクリーン/フレンドリーなバージョンが表示されます。

あなたはサーバー構成にアクセスできないと言っていますが、これは共有サーバー上にあるためだと思いますか? 共有サーバーにはすでにmod_rewriteがインストールされています。通常、Apacheの仮想ホストは書き換えルールを置く最も適切な場所ですが、でもを制御したい任意のディレクトリ内の.htaccessファイルに置くことができます。 (時にはサーバーの設定ではこの機能は無効になりますが、通常は共有ホスト上で有効になります).htaccessファイルの作成方法と使用方法mod_rewrite

関連する問題