URL参数值 - 带有参数名称 - 例如google shrink URL

时间:2013-10-23 13:32:00

标签: php mysql url goo.gl

我试图创建自己的"缩小链接"网站, 例如:www.goo.gladf.ly

但本网站仅供我公开帮助,

所以当你在goo.gl上缩小你的链接时,你会看到它给你链接e.g goo.gl/exapmle_value

example_value是在数据库中传递的值,然后gog.gl重定向到真实网站。

所以我想要这样想,

我使用PHP和MySql我尝试缩小链接,并将其与table_id放在一起,

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

如何使用简单的PHP而不是任何PHP框架来完成这项工作?

1 个答案:

答案 0 :(得分:1)

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

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

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

您可以使用$_SERVER['REQUEST_URI']获取页面的URL,然后您需要做的就是使用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的最后一部分。


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

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

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

如果您使用的是网络主机,那么他们通常会有自己的自定义用户界面来选择错误页面。只需将PHP脚本的路径放在此处即可。如果您自己托管和配置Apache,请参阅the manual