Requires PHP ≥ 5.4.0 or higher.
- Download the source code as located within this repository, and upload it to your web server.
- Use
database.sqlto create theredirecttable in a database of choice. (Do not delete theINSERTstatement on line 10 as it is needed to initialize the database.) - Copy
config.exemple.phptoconfig.phpand enter your database credentials + social IDs/default URL. - For additional security through obscurity™, consider renaming
shorten.phpto a secret file name of your choosing and tweaking the.htaccessfile (line 3) accordingly.
- Redirect to Twitter when given a numerical slug, e.g.
http://mths.be/8065633451249664→http://twitter.com/mathias/status/8065633451249664. - Redirect to your Twitter account when
@is used as a slug, e.g.http://mths.be/@→http://twitter.com/mathias. - Redirect to your Google Plus account when
+is used as a slug, e.g.http://mths.be/+→https://plus.google.com/u/0/116553353277057965424/posts. - Redirect to your main website when no slug is entered, e.g.
http://mths.be/→http://mathiasbynens.be/. - Redirect to a specific page on your main website when an unknown slug (not in the database) is used, e.g.
http://mths.be/demo/jquery-size→http://mathiasbynens.be/demo/jquery-size. - Ignores weird trailing characters (
!,",#,$,%,&,',(,),*,+,,,-,.,/,@,:,;,<,=,>,[,\,],^,_,{,|,},~) in slugs — useful when your short URL is run through a crappy link parser, e.g.http://mths.be/aaa)→ same effect as visitinghttp://mths.be/aaa. - Generates short, easy-to-type URLs using only
[0-9a-z]characters. - Doesn’t create multiple short URLs when you try to shorten the same URL. In this case, the script will simply return the existing short URL for that long URL.
- DRY, minimal code.
- Correct, semantic use of the available HTTP status codes.
- Can be used with Twitter for iPhone. Just go to Settings › Services › URL Shortening › Custom… and enter
http://yourshortener.ext/shorten.php?url=%@.
javascript:(function(){const%20q=prompt('URL:');if(q){location='https://yourshortener.ext/shorten?url='+encodeURIComponent(q)}}());javascript:(function(){location='https://yourshortener.ext/shorten?url='+encodeURIComponent(location.href)}());This script is available under the MIT license.