Nedir bu 403 hata yönlendirme ile yanlış

4 Cevap php

Merhaba bir joomla makale 404 hataları vb yönlendirmek için joomla için bir error.php oluşturduk. Aşağıdaki kod, bir 404 hatası için çalışıyor, ama bir 403 boş bir sayfa döndürür. Benim kod ya da nasıl onu ortamında interaktif ya olmalıdır yüzden benim komut dosyası dışında doğrudan sayfasına gidebilirsiniz.

Thanks Stephen

defined( '_JEXEC' ) or die( 'Restricted access' );
if ($this->error->code == 404)
{
Header( "HTTP/1.1 404 Not found" );
header("Location: http://www.queensberry.com/misc/filenotfound/");
} else if ($this->error->code == 403) {
Header( "HTTP/1.1 403 Restricted Content" );
Header( "Location: http://www.queensberry.com/restrictedcontent/" ); 
} else {
echo "hello world error code = " . $this->error->code;
}
?>

4 Cevap

Ben herkesin yardım ederiz, ama cevaplar için umuyordum ne farklı bir yöne beni gönderiyorlardı. Ben Joomla hataları için hedef olarak ama bunun yerine ben Joomla içerik yönlendirmek istedim sitenin bir parçası gibi görünmek sayfasını biçimlendirme Joomla'nın error.php dosyasını kullanmaya devam etmek istedim.

Sonunda ben ne gerekli bir çıkış bulundu; benim komut. Şimdi çalışıyor gibi Yani burada error.php olduğunu.

defined( '_JEXEC' ) or die( 'Restricted access' );
if ($this->error->code == 404)
{
Header( "HTTP/1.1 404 Not found" );
header("Location: http://www.queensberry.com/misc/filenotfound/");
exit;
} else if ($this->error->code == 403) {
Header( "HTTP/1.1 403 Restricted Content" );
Header( "Location: http://www.queensberry.com/restrictedcontent/" ); 
exit;
} else {
echo "hello world error code = " . $this->error->code;
}
?>

Aksine Header("Loaction:...") bir include() ile "sınırlı içeriği" sayfa render gereken veya daha sonra bazı tür ve çıkarken kullanarak daha. Tarayıcı 403 büyük olasılıkla aldıktan sonra Yer başlığını takip etmiyor.

Header ("Location:") bir standart, yeni bir sayfaya yönlendirir neden oluyor. PHP tarafından verilen sayfasında ise 403 hata yalnızca gönderilecektir. Böylece etkili "bir 403 hata görümü Sonuçları" (deftere kodu ile) söylemeye çalışıyoruz ama sonra tamamen tamamen farklı bir sayfaya yönlendirme. http://www.queensberry.com/restrictedcontent/ için 403 başlık ekleyin ve iyi olmalıdır. Siz aynı zamanda 404 başlığı ile aynı yapmanız gerekir.

Eğer (HTTP/1.1 403) sonra Web Browser (Firefox, IE, Chrome, ...) will ignore neyse

Yer: (bla bla bla) 'dir.

Inanmıyor musunuz?

Assume :: you know how to produce Error Code 403 from your Joomla Site. (I mean joomla_site/bla-bla-bla :: that produce Error Code 403)

Aşağıdaki gibidir Web Server (sizin error.php dosyasına göre) verip soralım:

... HTTP/1.1 403 Restricted Content Location: http://www.queensberry.com/restrictedcontent/ ...

Bunlar sağ (yani your error.php file works as you wish) sizin error.php dosyasına dayalı

- Telnet 80 ile kontrol edin

Haydi deneyelim

c: \ telnet your_host: 80

Bla-bla-bla HTTP/1.1 GET

Host: joomla_site

- Bu sizin merak :-) yerine Umut

Ben tekrar tekrar:

Eğer (HTTP/1.1 403) sonra Web Browser (Firefox, IE, Chrome, ...) will ignore neyse

Yer: (bla bla bla) 'dir.