FC2ブログ

Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
この記事にトラックバックする(FC2ブログユーザー)
http://eccubememo.blog52.fc2.com/tb.php/9-f28a25de

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

POST→バックボタン でページの有効期限切れ

POSTして遷移したページからブラウザで「戻る」時に「ページの有効期限切れ」エラーが出やがるので、何とかしようとしたら、
LC_Page.php の function allowClientCache() を見ることになる訳です。

が、これ、正常に機能していないらしい。

http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=4139&forum=8&viewmode=flat&order=ASC&start=0
(EC-CUBEコミュニティサイト)

いくつかこれを呼び出しているページもあるようだけど、確かに機能していない。
で、正常に機能させようとしてこのfunctionを書き直したりなんかしたら、これまで(見かけ上)問題なく動作していたところがおかしくなる恐れ大。transactionidを発行してhiddenでフォームに持たせているページとか。
で、全部のページを色んなパターンでもっかい再検証とかね、やってらんない訳です。
本来なら、最初にチェックして最初に直しとけって話ですけど、まーそれは難しいわ。見かけ上問題なさそうだったら取り敢えずそれで始めるもの。普通。ソースコードを全チェック・テストするのは理想だけど、そこまでするんだったら最初から自分で作った方が早いもの。

なのでここは1つ、もとのallowClientCache()はそのままでほっといて、新しいfunctionを作成しておいて、今この後からはこれを必要に応じて呼ぶことに。
今のallowClientCacheをコールしているところで問題があるページを発見したら、
$this->allowClientCache();

$this->allowClientCache_v2();

などと置き換えてそこだけテスト。
実運用しつつテストしつつきっと多分その内解決。

LC_Page.php
// これはもとの。
 function allowClientCache() {
   session_cache_limiter('private-no-expire');
 }

// 新しいの。ソースはコミュニティサイトの神のような人のをそのままコピー。
/**
* クライアントのキャッシュを許可する.
* create: 2010/11/08
*/
 function allowClientCache_v2() {
// session_cache_limiter('private_no_expire');
   $cache_expire = session_cache_expire() * 60;
   header('Pragma:');
   header('Expires:');
   header("Cache-Control: private, max-age=$cache_expire, pre-check=$cache_expire");
   header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
 }


ってことで。
この記事にトラックバックする(FC2ブログユーザー)
http://eccubememo.blog52.fc2.com/tb.php/9-f28a25de

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

Appendix

プロフィール

modezo

Author:modezo
モデゾー

思いたって書き始めたのが随分出来てからなので実は書くことがあんまりない。

全記事表示リンク

全ての記事を表示する

 

newsing

にほんブログ村 IT技術ブログ 自社サイト運用へ
にほんブログ村

ブランド和牛一覧
近江牛ステーキ・しゃぶしゃぶ
SEOTOOLS999|相互リンクSEO-P-Link ver3.5
匹夫の勇|相互リンクSEO-P-Link ver3.5
頓珍漢|相互リンクSEO-P-Link ver3.5

Googleページランク表示ツール PagerankExplore

あわせて読みたい

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。