Redirect old URL to new URL or send 404 page with PHP

Redirect pages with PHP. If you’ve moved some old PHP pages, or URLs, to new pages and URLs, you can use the following PHP code snippet to easily redirect all visitors and incoming requests to the new location. This PHP code snippet uses a 301 Moved Permanently redirect, perfect for SEO.

Redirect pages with PHP: redirect old URLs to new URLs

Save the following PHP code as 404.php and set this PHP page as your custom default 404 Not Found page. This will prevent visitors from getting ugly and unwanted default 404 Page Not Found messages.

<?php
// watch out for accepting request_uri input without validation/sanitation!
$request=$_SERVER['REQUEST_URI'];
$arrMoved=array("/php/guestbook/" => "/php/phpGuestbook/",
	        "/php/forumzz.php" => "/php/forum.php",
	        "/old.php" => "/new.php",
	        "/..." => "/...");
           
if(array_key_exists($request,$arrMoved)) {
  $newplace="http://".$_SERVER['HTTP_HOST'].$arrMoved[$request];
  header("HTTP/1.0 301 Moved Permanently");
  header("Location: $newplace");
  header("Connection: close");
  exit(); // ALWAYS use exit() after header()
}
else {
  header("HTTP/1.0 404 Not Found");
}    
?>

<!-- 
Your normal HTML code goes here, if a match is found the 
visitor will have been redirected. Only genuine 404 errors will see the HTML below.

 Follow me on Twitter: @HertogJanR
 -->
 
<html>
  <<head>
    <title>
       404 Error page
    </title>
  </head>
  <body>
    <p>Sorry but this page cannot be found.</p>
  </body>
</html>

Did this post helped you solve a problem? Or dit you find it interesting? Support Sysadmins of the North with a direct donation via Paypal of by bank wire transfer IBAN: NL31 ABNA 0432217258 (Jan Reilink). Just $ 5,- or € 5,- is more than enough, thanks!

Support SAOTN.ORG


1,913 views

Leave a Reply

Your email address will not be published. Required fields are marked *