0

私の Web サイトには、mod_rewrite によるリファラー チェックを使用する B.html と呼ばれるページがあります。A.html からのものでない場合は、A.html にリダイレクトされます。

Aから始まる、それはファイルを動作させます。B にリンクして B を表示できます。ブラウザに URL を入力して B にアクセスしようとすると、A にリダイレクトされます。

問題は、外部リンクからサイトにアクセスした場合、A.html にリダイレクトされることです (そうあるべきです)。この後、A から B へのリンクをクリックすると、A に転送されます。

私の最初の印象は、これはキャッシュの問題だということでした。ブラウザーを閉じて再度開く (またはプライベート ブラウザー ウィンドウで試す) と、A から B にリンクするはずだからです。これをページBとAの両方に追加しようとしました:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

そして、これも私のphpコードで(同時にではありません):

header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
header('Pragma: no-cache'); // HTTP 1.0.
header('Expires: 0'); // Proxies.

ここの別の投稿から見つけましたが、それではうまくいきませんでした。

助言がありますか?

ありがとう

4

1 に答える 1

0

誰かが興味を持っているなら、私は私の問題を見つけました。私は htaccess で 301 リダイレクトを使用していたので、ブラウザはリダイレクトを自動キャッシュします。ページのキャッシュとは何の関係もありませんでした。

于 2013-09-18T23:26:29.040 に答える