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   Documentation   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStar 48%Total: 521 All time: 5,704 This week: 673Up
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: 41521 in United Kingdom
Week rank: 164 Up6 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 (4)  
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 (4)  /  src  
File Role Description
  Plain text file NotFoundAlternative.php Class Class source

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:521
This week:0
All time:5,704
This week:673Up
User Ratings User Comments (1)
 All time
Utility:70%StarStarStarStar
Consistency:65%StarStarStarStar
Documentation:65%StarStarStarStar
Examples:-
Tests:-
Videos:-
Overall:48%StarStarStar
Rank:3027
 
good
11 years ago (Rahul Shambharkar)
80%StarStarStarStarStar