404 Hata Sayfası ~ Görüntü yönlendir - PHP

3 Cevap php

Ben bir PHP uygulama özel bir 404 sayfası kullanın.

O 404 sayfada, artık var 'bilinen' Bazı eski sayfalarında kontrol, ve sonra daha yeni ya da en ilgili geçerli sayfaya kullanıcıyı yönlendirmek. Harika çalışıyor.

Şimdi kaldırılmış eski görüntülerin bir dizi ile karşı karşıya, ve ÖS looking for a way to redirect the images to a new image (php kod tüm iç mümkünse) duyuyorum.

Ben kısaca çevresinde avlanan ve boş geldi var.

Bunu yapmak için herhangi bir yolu?

İşte benim kod bir örnek:

<?php
    //-- grab info regarding bad request --
    $root	  	= $_SERVER['DOCUMENT_ROOT'];
    $page 	  	= parse_url($_SERVER['REQUEST_URI']);
    $page	  	= $page['path'];
    $referer 		= $_SERVER['HTTP_REFERER'];
    $host	  	= $_SERVER['REMOTE_HOST'];

    //-- try to redirect old pages/files ----------------------
    //
    $page = urlencode($page);

    if ( stristr($page, "some_old_file.zip") ) {
    	// Example file redirect
    	echo 	"<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=http://www.site.com/the/new/file.zip\">";

    } elseif ( stristr($page, "some_old_page.php") ) {	
    	// example webpage redirect
    	echo 	"<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=http://www.site.com/the/new/page.php\">";

    } elseif ( stristr($page, "some_old_image.jpg") ) {
    	// not sure how to do this ...
    	// ...
    	// ...
    	// ...
    	// ...
    	// ...
    	// not sure how to do this ...    		
    } else {
    	// everything else - direct to custom 404 search page
    	echo 	"<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=http://www.site/com/the/custom/404_help.php?page={$page}\">";
    }
    //
    // -------------------------------------------------------

?>

3 Cevap

yerine meta yenileme çıktısı, bir yer başlığı kullanın

header("Location: /path/to/image.jpg\r\n");

\ R \ n başlıklarını sınırlandırmak için sadece yeni bir çizgi vardır.

Not: başlıkları başka bir çıkıştan önce gönderilmesi gerekir

You will need server side redirect. Look around php function "header" and http status code 301 (moved permanently). You'll find a ton of ready made 5 liner solutions.

Ben olsaydım, aynı içeriği yeni konumu hakkında arama motorlarına bilgi için çok html içerik için bu yöntemi kullanmak istiyorum.

Benim tavsiye (Apache conf dosyaları veya. Htaccess olarak) Apache yönlendirmeler kullanılarak Apache içinde bunu yapmak olacaktır. Sen böyle bir şey yapabilirsiniz:

RedirectMatch old_file_path new_file_path

Bu performansını artırmak olmaz ama bir arama, her zaman yapmak zorunda kalmazsınız. Ve en iyi kısmı gelecekte daha fazla eksik yönlendirmeleri eklemeniz gerekir gerekir yönetilebilir olmasıdır.