PHP en iyi yolu yönlendirme / reload sayfa

5 Cevap php

Whats the best way to reload/redirect a page in PHP which completly removes all history/cache? Which headers should I use?

Sayfa bugün:

Bir bağlantıya tıklarken, olsun-parametreleri ayarlanır ve bir komut dosyası çalışıyor. Bittiğinde, ben olsun-parametreler olmadan redriect ve sayfayı yeniden istiyorum. İlk başta hiçbir şey var gibi görünüyor, ama F5 tuşuna basarak zaman, değişiklikler görünür.

Ne istiyorum:

Redirect ve böylece değişikliklerin F5 tuşuna basarak olmadan görünür yükleyin.

5 Cevap

header('Location: http://www.example.com/', true, 302);
exit;

Ref: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

edit:

This response is only cacheable if indicated by a Cache-Control or Expires header field.

Bir sayfayı yeniden yükleyin ve önbellekten alınan olmamak için zorlamak için en iyi yolu, sorgu dizesi olarak url sonuna rastgele bir id veya zaman damgası eklemek olacaktır. Her zaman isteği benzersiz kılan.

Bu deneyin:

echo '<script>document.location.replace("someurl.php");</script>';

Bu tarayıcı geçmişini değil, önbellek değiştirmeniz gerekir.

Güvenli yolu, bir kafa vuruşu Redirect kullanmak için

header('Location: http://www.example.com/', true, 302);
exit;

Ama herhangi bir diğer çıktı tarayıcıya gönderilen ÖNCE gönderilmek üzere olduğunu, dikkat.

sadece SEO ile ilgili bilgi için:

301 endeksinde url yerine arama motoru söylerdim. url1 301 ile url2 yönlendirme eğer öyleyse, tüm büyük arama motoru [google, yahoo bing +] url2 ile url1 yerini alacak.

Farklı bir şekilde 302 çalışır. Bazı diğer bir adrese url temporarily yer almaktadır diyor.

see this post