
Are you sometime envious of nice, short URLs - you want to pass on a really short URL to someone, but the structure of your site is such that the resource in question has some long string associated with it - it has to carry a lot af "context" around with it ...
There are services such as tinyurl available - or if you want more control, you can write your own. You could, for example, map
http://www.wellho.net/short/3
onto
http://www.wellho.net/resources/globalindex.html
How?
1. Use Apache mod_rewrite to map all URLs in the short directory to a PHP script:
RewriteRule ^(.*)$ index.html?shortform=$1&%{QUERY_STRING} [L]
2. Use that PHP script to perform the mapping - in this example, I have my mappings in a file but there's no reason I shouldn't use a database:
$forward = file("forward.txt");
if (preg_match('/^(\d+)/',$_REQUEST[shortform],$gotten)) {
if ($gotten[1] >= 0 and $gotten[1] < count($forward)) {
$fn = trim($forward[$gotten[1]]);
header("Location: http://www.wellho.net".$fn);
exit();
}
}
You'll note that my use of a location header causes the browser to direct.
3.
Highly Recommended. Tell your robots.txt file that you do not want search engines to index the short page names; if it
was index, you would be diluting your search engine placement.
Disallow: /short/
(written 2010-05-17)
Associated topics are indexed under
A607 - Web Application Deployment - Apache httpd mod_rewrite [3862] Forwarding a whole domain, except for a few directories - Apache http server - (2012-09-17)
[3753] Adding a passcode to a directory - (2012-06-05)
[3568] Telling which ServerAlias your visitor used - useful during merging domains - (2012-01-04)
[3339] Simplest ever proxy configuration? - (2011-06-28)
[3197] Finding and diverting image requests from rogue domains - (2011-03-08)
[2981] How to set up short and meaningfull alternative URLs - (2010-10-02)
[2900] Redirecting a page - silent, temporary or permanent? - (2010-08-03)
[2773] Dynamically watching your web site via a PHP wrapper - (2010-05-21)
[2728] Redirecting a home page using mod_rewrite - (2010-04-17)
[2555] Bookkeeping - (2009-12-29)
[2094] If you have a spelling mistake in your URL / page name - (2009-03-21)
[1954] mod_rewrite for newcomers - (2008-12-20)
[1778] Pointing all the web pages in a directory at a database - (2008-08-30)
[1771] More HowTo diagrams - MySQL, Tomcat and Java - (2008-08-24)
[1731] Apache httpd, MySQL, PHP - installation procedure - (2008-08-01)
[1636] What to do if the Home Page is missing - (2008-05-08)
[1381] Using a MySQL database to control mod_rewrite via PHP - (2007-10-06)
[1376] Choosing between mod_proxy and mod_rewrite - (2007-10-02)
[1207] Simple but effective use of mod_rewrite (Apache httpd) - (2007-05-27)
[1009] Passing GET parameters through Apache mod_rewrite - (2006-12-27)
[1006] Apache httpd and Apache Tomcat together tips - (2006-12-24)
[934] Clustering, load balancing, mod_rewrite and mod_proxy - (2006-11-21)
[755] Using different URLs to navigate around a single script - (2006-06-11)
[631] Apache httpd to Tomcat - jk v proxy - (2006-03-03)
4ffd
Some other Articles
Graham Ellis - Summary of Training RecordMelksham to Calne by public transportMelksham Chamber of Commerce - Presidents report to AGMEasy - but for whom?Carrying a long URL around - looking for memorable shortsBack from a Python course in GlasgowOptional and named parameters to Python functions/methodsRunning operating system commands from your Python programPython decorators - your own, staticmethod and classmethodOur C and C++ training course are on Open Source platforms