nasıl hangi sayfa oturum "bulunamadı" oldu?

4 Cevap php

I was just wondering how to get the link of the webpage which was not found on my website.

Mevcut olmayan bir sayfa istendiğinde. Htaccess kodu aşağıdaki ile, kullanıcı my_404.php yönlendirilir.

Options -Indexes

ErrorDocument 404 http://mysite.com/my_404.php

Ben bulunamadı sayfanın link, bunu nasıl yapabilirim ne oldu izini varsa?

B.php değil ise, sadece örneğin, A.php, geçerli bir web sayfası. Ben A.php am ve (varolmayan sayfa) b.php görüntülemeye çalışırsanız Yani ... htaccess .. ben HTTP_REFERER A.php olarak görmek hangi my_404.php beni yönlendirir ama ne Ben arıyorum "birileri B.php görüntülemek için çalıştı" olmasıdır. Bunu nasıl yapabilirim?

Yardımlarınız için teşekkürler.

EDIT

Bakınız: ben log dosyaları kontrol etmek istemiyorum. Ben sayfada bir şey soruyorum. Teşekkürler.

4 Cevap

When you use a remote ErrorDocument URL like http://mysite.com/my_404.php, Apache will send a redirect to that URL to the client, that's why you can't get the URL that causes the 404 from $_SERVER['REQUEST_URI'] like Matt Bridges suggested. You might want to try using a local ErrorDocument (no scheme and servername), like this:

ErrorDocument 404 /my_404.php

I $_SERVER['REQUEST_URI'] daha sonra başlangıçta istenen URL'yi dönecektir şüpheli.

Bu Apache log dosyasında yapılıyor zaten muhtemeldir. Sen sadece yerine iki kez kayıt daha verilerini ayrıştırmak.

Stackoverflow Arşiv:

Ek İlgililer İçerik:

Aradığınız değişken $ _SERVER ['REQUEST_URI'] denir. Bu istemci tarafından sunucuya yapıldığı orijinal isteği tutar.

Eğer diğer "$ _SERVER" değişkenlerin bir listesini görebilirsiniz here.

Edit:

Google arama biraz sonra, sorun hata sayfası http:// nitelikcisiyle belirtilmiş olmasıdır. ErrorDocument yerel bir dosyaya, örneğin olarak belirtilir böylece htaccess değiştirin:

ErrorDocument 404 /www/my_404.php

$ _SERVER ['REQUEST_URI'] doğru değeri tutmak gerekir, bunu sonra.

my_404.php sizin $_SERVER dizisinin bir göz

var_dump($_SERVER);

Ben size ihtiyacınız olanı bulmak sanırım. :-)