環境
・Xサーバー
・Nginx
・.htaccess
解決したいこと
ページを編集した後、Chromeでページを確認しても更新されません。
検証モードにし、「キャッシュの消去とハード再読み込み」をすると更新されるのですが、
リロードすると更新前の状態に戻ってしまいます。
これはNginx側にキャッシュが残っているため、ブラウザキャッシュを消しても戻ってしまうのでしょうか?
検証モードでキャッシュ削除すると一度は最新の状態になるのはなぜでしょうか?
解決できず困っております。
試したこと
// .htaccessの設定(修正前) Header set Cache-Control "max-age=2628000, public"
としており、Response headerでもcache-control:max-age=2628000, public
となっていたので、
//.htaccessの設定(修正後) Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" Header set Pragma "no-cache"
上記に変更してみました。
が、検証モードでキャッシュを消した時は
Response headerがcache-control:max-age=0, no-cache, no-store, must-revalidate
になりましたが
リロードするとやはり更新前のページが表示され、
Response headerはcache-control: max-age=2592000
になっています。
どこかで設定が上書きされているのでしょうか・・・?
Xサーバー側のブラウザキャッシュやサーバーキャッシュはOFFになっています。
確認するべき箇所や解決策が他にありましたら、ご教授いただけますと幸いです。
よろしくお願い致します。
ご質問について
検証モードとは?(シークレットモード??)
Chromeのデベロッパーツールを表示した状態です。
右クリック→「検証」の状態です。
その状態で、ブラウザ左上の更新マークを右クリック「キャッシュの消去とハード再読み込み」をしています。
htaccessはapacheの設定ファイルのはずですが、nginxでhtaccessを有効にするツールでも使用しているのでしょうか?
nginxでは.htaccessは使えないです。そこが原因ではないでしょうか。
Nginxが通常nginx.conf等を使用することは承知しております。
Xサーバーの説明にもあるのですが、.htaccessをそのまま使用することができます。
*nginx環境下での.htaccessのご利用について エックスサーバーではnginx環境下(サーバー番号がsv2001以降のすべて、sv1999以前の一部サーバー)においても、Apache環境下で設定された「.htaccess」ファイルをそのままご利用いただくことが可能です。 詳細はマニュアル「nginxについて」をご参照ください。
は試しましたか?
こちらも試してみます。ありがとうございます。