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

Photo of author
Written By Jan Reilink

Windows Server system administrator & enthusiast.

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 and returns a 404 Not Found if a new location hasn’t been set up yet.

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 $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(); } 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: @Jan_Reilink --> <html> <<head> <title> 404 Error page </title> </head> <body> <p>Sorry but this page cannot be found.</p> </body> </html>
Code language: PHP (php)

Did you like: Redirect old URL to new URL or send 404 page with PHP

Then please, take a second to support Sysadmins of the North and donate!

Your generosity helps pay for the ongoing costs associated with running this website like coffee, hosting services, library mirrors, domain renewals, time for article research, and coffee, just to name a few.

Hi! Join the discussion, leave a reply!