我正在研究 URL 缩短脚本。我的脚本生成一个链接,如http://127.0.0.1:1337/urlshortener/v5tjp
.
v5tjp
是一个随机值,由脚本生成。
我的脚本的逻辑是我输入一个 URL,然后 PHP 获取它,生成一个随机值(长度也取自 SQL 数据库),然后在数据库中插入长 url 和短 url。
我卡住的地方:我需要创建一个.htaccess 文件来将访问者重定向到redirect.php,我有重定向脚本。
这是redirect.php 文件:
<?php
include ('connect.php');
$decode = mysql_real_escape_string($_GET['decode']);
$sql = 'SELECT * FROM urls WHERE short_code="$decode"';
$result = mysql_query($sql);
if (isset($_GET['url_token'])){
$urlId=$_GET['url_token'];
$query = "SELECT * FROM urls WHERE short_code=".$urlId." LIMIT 1";
$redirect = mysql_query($query);
if(mysql_num_rows($redirect)) {
$row = mysql_fetch_assoc($redirect);
$url = $row['long_url'];
header('Location: http://'.$url);
}
echo 'Bad URL!';
exit();
}
while($row = mysql_fetch_array($result))
{
$res=$row['long_url'];
header("location:".$res);
}
这是我制作的 .htaccess 文件:
RewriteEngine On
RewriteRle ^$ index.php [L]
RewriteCond %(REQUEST_FILENAME) !-f
RewriteRule ^(.*)$ redirect.php?url_token=$1 [L]
但由于某种原因,它不起作用。我正在使用 XAMPP 运行我的脚本。