簡単な短縮URLを作りました。外部URLにリダイレクトする関数で使用できるように、http://chrismepham.com/q4IT612
これに似たURLを.htaccessに書き換えさせようとしています。http://chrismepham.com/index.php?code=q4IT612
私が使用している .htaccess コードは次のとおりです。
SetEnv TZ Europe/London
RewriteEngine on
RewriteRule ^([a-zA-Z0-9]+)$ index.php?code=$1
私のインデックスページの上部には、次のものがあります。
if(isset($_GET['code']) && !empty($_GET['code'])){
$code = $_GET['code'];
redirect($code);
die();
}
リダイレクト機能は次のとおりです。
function redirect($code){
//test the connection
try{
//connect to the database
$dbh = new PDO("host;dbname=dbname","user", "pass");
//if there is an error catch it here
} catch( PDOException $e ) {
//display the error
echo $e->getMessage();
}
if(code_exists($code)){
$stmt = $dbh->prepare("SELECT url FROM url_shortener WHERE code=?");
$stmt->bindParam(1, $code);
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$url = $row['url'];
}
header('Location: ' .$url);
}
}
URLを書き換えないのはなぜですか?
ありがとう