编写自己的URL缩短程序需要什么?

时间:2011-07-20 00:13:45

标签: php mysql url-rewriting

我想用php和mysql作为测试人员编写我自己的URL缩短程序,看看我对这两种语言的了解程度如何?但是我不知道需要做什么或从哪里开始。请有人给我一份清单,说明为了创建/写一个成功的URL缩短器需要做些什么?

2 个答案:

答案 0 :(得分:2)

您只需要一个简短的域名。

然后你可以拥有一个包含两列的简单MySQL表:Id(具有自动增量的主键)和Url。哪个应该是TEXT或其他东西。由于varchar 255可能太短。

然后设置你的.htaccess,以便像domain.com/a21s1这样的网址转换为domain.com?url=a21s1

这就是:

RewriteRule ^(?:.*)domain\.com/(.*)/?$ domain.com?url=$1

然后在php中执行以下操作:

if(isset($_GET['url'])){
    $url = base_convert((int)$_GET['url'],36,10);
    $result = mysql_query('SELECT `Url` FROM `My Table` WHERE `Id` = '.$url);
    $row = mysql_fetch_row($result);
    $url = $row[0];
}else
    $url = 'http://domain.com/yourhomepage';

header('location: '.$url);

您还希望在用户输入新网址时进行完整性检查,以便确定它是一个网址,并且如果缺少http://则将其添加到网址。

答案 1 :(得分:1)

我刚做完my-gplus

  • 尽可能使用短域
  • 使用.htaccess重写/
  • 后创建短尾
  • 当用户被重定向时,请不要打扰用户“感谢您使用...重定向到”
  • 不强迫用户注册
  • 允许用户注册&查看他们的统计数据

.htaccess看起来像这样

RewriteEngine on
RewriteCond %{REQUEST_URI}  !^/index.php
RewriteRule ^(.+)$ redirect.php?url=$1 [L]