PHP Classes

Status 404 PHP Find Best Match Page: Find best match URL when accessing an invalid page

Recommend this page to a friend!
  Info   View files Documentation   View files View files (4)   DownloadInstall with Composer Download .zip   Reputation   Support forum (1)   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStar 48%Total: 520 This week: 1All time: 5,699 This week: 89Up
Version License PHP version Categories
status-404-find-best 1.0.1GNU General Publi...5.0HTTP, PHP 5, Text processing, Artific...
Description 

Author

This class can find best match URL when accessing an invalid page.

It takes the list of URIs of valid pages and finds the page that matches better the URI of the current request when it is not valid.

The class redirects the browser to the best match page URL.

Innovation Award
PHP Programming Innovation award nominee
September 2013
Number 5


Prize: One copy of the Zend Studio
Some times users access inexistent pages because they mistyped the URL. In that case it would be better to try to fix the URL for the user instead of just say it is wrong.

This class can attempt to fix incorrect URLs using a list of URLs that are known to be correct.

Manuel Lemos
Picture of Peter Kahl
  Performance   Level  
Name: Peter Kahl <contact>
Classes: 37 packages by
Country: United Kingdom
Age: ???
All time rank: 41721 in United Kingdom
Week rank: 91 Up3 in United Kingdom Up
Innovation award
Innovation award
Nominee: 23x

Winner: 2x

Documentation

Page not found? Serve an alternative!

Downloads License If this project has business value for you then don't hesitate to support me with a small donation.

When requested page URI is not found in the list of available pages, a closest matching page URI will be found and a redirect header will be returned.

This package will please all those concerned with search engine optimisation (SEO), and in situations where URIs often change; it eliminates the need for URL rewrites.

Usage

use peterkahl\NotFoundAlternative\NotFoundAlternative;

# For testing purposes, we set these; otherwise to be omitted.
$_SERVER['REQUEST_URI']     = '/contatcus?lang=en-us';
$_SERVER['SERVER_PROTOCOL'] = 'HTTP/1.1';
$_SERVER['HTTP_SCHEME']     = 'https';
$_SERVER['HTTP_HOST']       = 'www.blah.sample';
# ---- End of testing variables ----

$notfoundObj = new NotFoundAlternative;
$notfoundObj->AvailableURI = array(
  '/',
  '/about',
  '/products',
  '/services',
  '/contact-us',
  '/news',
);
$notfoundObj->CheckURI();
# The script serves Status 301 permanent redirect header
# and Location header 'https://www.blah.sample/contact-us?lang=en-us'
# and then exits.


  Files folder image Files  
File Role Description
Files folder imagesrc (1 file)
Accessible without login Plain text file LICENSE Lic. License
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files  /  src  
File Role Description
  Plain text file NotFoundAlternative.php Class Class source

 Version Control Unique User Downloads Download Rankings  
 100%
Total:520
This week:1
All time:5,699
This week:89Up
User Ratings User Comments (1)
 All time
Utility:70%StarStarStarStar
Consistency:65%StarStarStarStar
Documentation:65%StarStarStarStar
Examples:-
Tests:-
Videos:-
Overall:48%StarStarStar
Rank:2960
 
good
10 years ago (Rahul Shambharkar)
80%StarStarStarStarStar