TinyURLのようなRedirectionの仕組み

ちょっと思いついてやってみたら簡単にできたので、報告します。
TinyURLのようなRedirectionの仕組みを実現する方法です。
普通のホームページではだめで、どこかのホスティングサービスを利用しているか、自社サーバーを構築している場合です。

以下のように設定するとできるようになります。

  1. まず .htaccessで以下の行を追加する。

ErrorDocument 404 /jump.php

この意味は、HTTPサーバーで404のエラーが起きたら、/jump.php へ飛ぶという意味だ。404のエラーとは、URLが見つからなかったときのエラーだ。/jump.php の名称は実際にあるファイルならばなんでもよい。

  1. Redirectionをするプログラムjump.phpをつくる。

<?php $mysql_id = “”; $mysql_password =””; $mysql_database = “”; $mysql_table = “”; $request_uri = substr($_SERVER[‘REQUEST_URI’],1); $con = mysql_pconnect(“localhost”, $mysql_id, $mysql_password) or die(“Could not connect”); mysql_select_db ($mysql_database); $result = mysql_query(“select * from $mysql_table where code=’$request_uri’ “, $con); if (mysql_num_rows($result) == 0) {     print “404 URL is not fired!”;     mysql_close($con);     exit; } else {     $url = mysql_result($result, 0, “url”); } mysql_close($con); header(“Location: “.$url);

 Share!