ちょっと思いついてやってみたら簡単にできたので、報告します。
TinyURLのようなRedirectionの仕組みを実現する方法です。
普通のホームページではだめで、どこかのホスティングサービスを利用しているか、自社サーバーを構築している場合です。
以下のように設定するとできるようになります。
- まず .htaccessで以下の行を追加する。
ErrorDocument 404 /jump.php
この意味は、HTTPサーバーで404のエラーが起きたら、/jump.php へ飛ぶという意味だ。404のエラーとは、URLが見つからなかったときのエラーだ。/jump.php の名称は実際にあるファイルならばなんでもよい。
- 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);