質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.49%

IE11でWeb ページの有効期限が切れていますとでてしまう

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 6,140

score 13

お世話になっております。
form入力画面で必要事項を入力して、submitすると確認画面へ遷移します。
確認画面で、やり直すをおすと入力画面にまた遷移します。
このときにブラウザバックをすると”Web ページの有効期限が切れています”と表示されてしまいます。
対策としてheaderにブラウザのキャッシュを無効にする設定を入れるようにしました。
しかしchromeブラウザではWeb ページの有効期限が切れていますが表示されなくなりましたが、IE11だけは直りません。
ためしで少し内容を変えてみましたがダメでした。(コメントアウトしているほうもしていないほうもchrome=OK,IE11=ダメ)

どんなやり方でも良いのでIEでもこれを表示させないようにしたいです・・
ご教授をお願いできますでしょうか?

宜しくお願い致します。

以下Laravelのミドルウェアにheaderを付与する処理を追加

  1 <?php
  2 
  3 namespace App\Http\Middleware;
  4 
  5 use Closure;
  6 
  7 class RevalidateBackHistory
  8 {
  9     /**
 10      * Handle an incoming request.
 11      *
 12      * @param  \Illuminate\Http\Request  $request
 13      * @param  \Closure  $next
 14      * @return mixed
 15      */
 16     public function handle($request, Closure $next)
 17     {
 18         $response = $next($request);
 19         /* chromeだとOK IE11だとだめ
 20         return $response->header('Cache-Control','no-cache, no-store,max-age=0,must-revalidate')
 21             ->header('Pragma','no-cache')
 22             ->header('Expired', 'Fri, 01 Jan 1990 00:00:00 GMT');
 23         */
 24         return $response->header('Cache-Control','no-cache')
 25             ->header('Pragma','no-cache')
 26             ->header('Expired', 'Fri, 01 Jan 1990 00:00:00 GMT')
 27             ->header('If-Modified-Since','0')
 28             ->header('Expires','-1');
 29     }       
 30 }

因みにhtmlのmetaタグも試しましたがダメでした。

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="-1">
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

check解決した方法

0

IEがどうやってもキャッシュしてしまうので、headerでどうにかするのは諦めました。
変わりに入力画面でのsubmitはそのままPOSTさせて、そのリクエストを受けた時に確認画面へはサーバ側でリダイレクトをさせて、post値はsessionからとるようにしました。

// リダイレクト
return redirect()->route('confirm')->withInput();
public function confirm(Request $request){
    // postした時のname='address'のフィールドを取得
    $address = ($request->session()->has('_old_input.address'))?Session::get('_old_input')['address']:null;
    return view('confirm', compact('address'));
}

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

ブラウザの仕様で、ieはよく起こる現象です。対策としてはie以外のブラウザを使うか、以下のリンク先等を参考にしてみてください。

参考:
「ページを表示できません」「ページの有効期限が切れています」というエラーの対処方法
ホームページ閲覧中、「ページの有効期限切れ」と表示される場合の対処方法

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/10/23 23:17

    ごめんなさい、”どんなやり方でも良いので”と言ってしまったのでうまく伝わっていなかったかもしれません。ユーザ側に何かしてもらって表示できるようにさせるというよりは、使う側が何もせずに、ページの有効期限が切れていますというページが発生しないようにさせたいと考えております。

    キャンセル

  • 2018/10/23 23:23

    基本的には対処不可でしょうし、以下のリンク先にもあるように、不具合が起こる可能性が高いと思います。

    参考先:
    http://write-remember.com/archives/1956/

    キャンセル

  • 2018/10/23 23:26

    リンクで「戻る」を設定して、ブラウザバックはしないように注意喚起するのが、良いかと思います。

    キャンセル

  • 2018/10/24 05:12

    そうなんですが、今回の場合そうは行かずに・・方法探してみます・・

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る