首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要什么来编写您自己的URL缩写程序?

问需要什么来编写您自己的URL缩写程序?
EN

Stack Overflow用户
提问于 2011-07-20 08:13:45
回答 2查看 855关注 0票数 0

我想用php和mysql编写我自己的URL缩写程序,看看我对这两种语言了解多少?然而,我不知道这样做需要什么,也不知道从哪里开始。请谁能给我一个清单,需要做什么,以创建/编写一个成功的网址缩短?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-20 08:25:30

你所需要的只是一个短域名。

然后,您可以拥有一个包含两列的简单MySQL表: Id (具有自动递增功能的主键)和Url。可能应该是一段文字之类的。因为varchar 255可能太短了。

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

这大概是这样的:

代码语言:javascript
复制
RewriteRule ^(?:.*)domain\.com/(.*)/?$ domain.com?url=$1

然后在php中做类似这样的事情:

代码语言:javascript
复制
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);

当用户输入一个新的url来添加时,你也会想要进行健全性检查,你会对它进行正则表达式,以确保它是一个url,如果它缺少http://,就把它放在url前面。

票数 2
EN

Stack Overflow用户

发布于 2011-07-20 08:17:18

我刚做了my-gplus

  • 使用尽可能短的域
  • 在以下时间后使用.htaccess重写创建短尾/
  • 当用户被重定向时,不要用“谢谢您使用...重定向到”来打扰用户
  • 不要强制用户注册并查看用户的统计信息

.htaccess可能如下所示

代码语言:javascript
复制
RewriteEngine on
RewriteCond %{REQUEST_URI}  !^/index.php
RewriteRule ^(.+)$ redirect.php?url=$1 [L]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6755630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档