0

I'm trying to create my own "shrink link" website, e.g: www.goo.gl and adf.ly

but this website only for my help not for public,

so you see when you shrink your link on goo.gl so it give you link e.g goo.gl/exapmle_value

example_value is value that pass in database, and then gog.gl redirect to real website.

so i want same this think,

i'm using PHP and MySql i try to shrink link, and its out put with table_id,

e.g www.mydomin.com/1 , www.mydomin.com/2 , www.mydomin.com/3

How can i do this by using simple PHP not any PHP frame work?

4

1 回答 1

1

这个问题需要分成两部分。

首先,获取 URL 的“收缩代码”的 PHP 脚本,即最后正斜杠字符之后的位:

www.mydomin.com/asdfasdfasfd
                ^^^^^^^^^^^^ This bit is the "shrink code"

您可以使用 获取页面的 URL $_SERVER['REQUEST_URI'],然后您需要做的就是使用 strrpos 和 substr 获取最后一个斜杠之后的文本:

$url  = $_SERVER['REQUEST_URI'];
// Last position of the slash character
$lastSlashPos = strrpos($url, "/");
// Get the text after the last character
$shrinkCode = substr($url, $lastSlashPos);
print "Great, now I need to look up $shrinkCode in MySQL."

这将为您提供 URL 的最后一部分。


另外,您需要让您的网络服务器为您网站上所有可能的 URL 呈现相同的 PHP 页面。

如果您使用的是 apache,一种作弊方法是将此页面设置为您的自定义 404 页面。因此,每当用户使用缩小的 URL 访问您的站点时,这将指向一个不存在的路径。

如果路径不存在,apache 将显示您的自定义错误 404 页面。如果此页面包含上述代码,那么您将能够找到 URL 的后缀,其中包含“shrink-code”。

如果您使用的是网络主机,那么他们通常有自己的自定义 UI 来选择错误页面。只需将 PHP 脚本的路径放在这里。如果您自己托管和配置 apache,请参阅手册

于 2013-10-23T13:45:05.323 回答