SORU
20 NİSAN 2009, PAZARTESİ


Nasıl PHP bir yönlendirme yapmak için?

PHP kullanarak farklı bir sayfa için bir kullanıcı yönlendirmek mümkün mü?

Kullanıcı www.example.com/page.php gider www.example.com/index.php nasıl yani bir meta yenileme kullanmadan yapayım? onları yönlendirmek istiyorum diyelim Mümkün mü?

Bu yetkisiz kullanıcılardan sayfaları korumak.

CEVAP
20 NİSAN 2009, PAZARTESİ


Varolan cevaplar artı kendi fikrimi söyleyeyim özeti:

1. Temel cevap

Kullanabilirsiniz header() fonksiyonu gönderme yeni bir HTTP Başlığı, ama bu olmalı gönderilen tarayıcı önce herhangi bir HTML veya metin (yani önce <!DOCTYPE ...> beyan, örneğin).

header('Location: '.$newURL);

2. Önemli detaylar

() ölür

header("Location: http://example.com/myOtherPage.php");
die();

die()kullanmak gerekir mi?: The Daily WTF

Mutlak URL

URL mutlak olmalıdır. RFC 2616 bkz. Ama çoğu durumda, göreli bir URL de kabul edilecektir.

Durum Kodları

PHP "Konum"Başlığı hala HTTP 302-yönlendirme kodu kullanır, ama bu kullanmanız gereken kişi değil. Ya 301 (kalıcı yönlendirme) veya 303 () diğer düşünmelisiniz.

Not: 303-Başlık ile uyumsuz W3C mentions "çok önceden HTTP/1.1 kullanıcı arayüzleri. Şu anda kullanılan tarayıcıların/1.1 kullanıcı arayüzleri HTTP. Bu örümcekler ve robotlar gibi diğer birçok kullanıcı arayüzleri için doğru değildir.

3. Belgeler

HTTP Başlıkları ve Başlığı() PHP işlevi

4. Alternatifleri

PECL package pecl kurulması gerekir http_redirect alternatif yöntem($url); kullanabilirsiniz.

5. Yardımcı İşlevler

Bu işlev, 303 durum kodu dahil değil:

function Redirect($url, $permanent = false)
{
    header('Location: ' . $url, true, $permanent ? 301 : 302);

    exit();
}

Redirect('http://example.com/', false);

Bu daha esnek

function redirect($url, $statusCode = 303)
{
   header('Location: ' . $url, true, $statusCode);
   die();
}

6. Geçici çözüm

Başlık belirtildiği gibi) yönlendirir bir şey yazılır önce. Genellikle invoked inmidst HTML çıkış başarısız. HTML başlık geçici bir çözüm (çok profesyonel!) kullanabilirsiniz sonra gibi:

 <meta http-equiv="Location" content="http://example.com/">

Veya Javascript yönlendirme bile.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Animation Workshop

    Animation Wo

    8 NİSAN 2010
  • FrankJavCee

    FrankJavCee

    29 Kasım 2008
  • FullMag

    FullMag

    15 ŞUBAT 2007

İLGİLİ SORU / CEVAPLAR