3

私たちは、Apache、Python、および Django を使用して新しい Web サイトに取り組んでいます。

開発段階では問題ありませんでしたが、Firefox 3.5.3 を使用して Apache にバインドすると、奇妙な問題が発生しました。

私たちは立っています:

http://website.fr/search/

調査の順序を変更したい場合は、ユーザーを次のように送信します。

http://website.fr/search/order/price/

このページはセッション変数を変更し、コード 302 で次のようにリダイレクトします。

http://website.fr/search/

問題は、Apache が 302 Apache コードを送信し、Firefox がページを更新しないことです。ユーザーを以前と同じページにリダイレクトするときに、同じ問題が発生しました。

ページを強制的に更新するにはどうすればよいですか?

4

3 に答える 3

5

何が起こるかというと、ブラウザは新しい URL を要求し、302 経由で以前の URL にリダイレクトされます。これはキャッシュにあるため、更新されません。Piotrが示唆しているように、ランダムな整数を追加すると問題が解決します。ランダム性のために、単純なタイムスタンプを使用できます。

あなたがやっているように前方に実行することの意味は、アプリを非RESTfulにし、ユーザーが結果をブックマークすることを禁止します-それが本当にあなたがやりたいことなのだろうか.

302 の代わりに 303 または 307 ステータス コードを使用してみる価値があるかもしれません。

参照: http://en.wikipedia.org/wiki/HTTP_302

http://en.wikipedia.org/wiki/Representational_State_Transfer

于 2009-10-13T14:38:54.203 に答える
1

あなたのやり方は間違っていると思います。同じ URL は同じページである必要があります。HTTP と Web ブラウザーのすべてがこれを前提としており、この規則に従わないと、問題が発生することになります。検索パラメーターと並べ替え順序をクエリ パラメーターとして URL に追加するだけです。

于 2009-10-13T05:52:43.473 に答える
0

にリダイレクトするのはどうですか

http://website.fr/search/?ignoredvar=<random int>

より良い解決策が必要な場合は、完全な http 会話を提供してください。会話は、firebug またはライブ http ヘッダーを使用して追跡できます。

ところで。上記の解決策は、IE のフラッシュでの同様のバグについて私が知っている唯一の解決策です。

于 2009-10-08T17:32:04.933 に答える