This class can emulate a page request URL rewriting and redirection specified within the same PHP script.
It can a PHP script handle a request with an URI like this:
/home/name.php?p1=a&p2=b&xy=123
when it is requested a page with an URI like this:
/goto/home/name/xyz/NQw/NQi/RwSy=/index.html
or, optionally with strong encoding, to with an URI like this:
/goto/home/name/xyz/Sm9obZjhsz6s/amBzb29zdC5jb20=/MTIU2NzgY1g==/index.html
The request redirection emulation is done by rewriting some request variables that contain request paths, like SCRIPT_FILENAME, SCRIPT_NAME, PHP_SELF, REQUEST_URI, PATH_TRANSLATED, and QUERY_STRING.
It can parse and change the output of the current page script to rewrite the URLs links (also in image maps) or images in the page with absolute URLs, relative URIs and URLs that contain scheme and host (http://www.somehost.com). Relative parent directory URIs (../) are also supported.
You can do the rewriting by using PHP buffering support.
Then the class optionally can compress the processed page output to serve the page in less time if the user browser supports compression.
Or you can rewrite a string with the string-rewrite method, if you cannot (or don't) want use the buffering support.
For detailed description see readme file.
Innovation Award
September 2004
Number 2
Prize: One downloadable copy of Roadsend PHP Compiler |
There is the conviction between experience Web site developers that search engines index more pages of a site and do it faster if their page URLs are normalized.
There is not an absolute certainty about the accuracy of this conviction because the search engine companies do not confirm or deny it in public. Despite this, many site developers systematically normalize their pages URLs so their sites gain more visibility in the search engine result pages and they get more visits for free.
Normalization consists in making the pages be served under an URL without any query parameters that usually follow the question mark in the original URLs. The normalized URLs make the query parameters appear as if they are directory path names of site page virtual files.
http://www.somesite.com/browse.php?content=something
becomes for instance:
http://www.somesite.com/browse/content/something/
The most popular Web servers come with modules that rewrite the page URLs, so the scripts that generate the pages do not need to be changed to normalize the URLs. However, not every site can make use of Web server modules to rewrite URLs.
This class provides a PHP only solution for rewriting page URLs. Since it does not require a special Web server module, it makes possible for many more sites to also take advantage for URL rewriting benefits.
Manuel Lemos |
| |
|
|
Innovation award
Nominee: 1x |
|