我正在尝试创建我自己的“收缩链接”网站,例如:www.goo.gl和adf.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框架来做到这一点?
发布于 2013-10-23 21:45:05
这个问题需要分成两部分。
首先,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的最后一部分。
另外,您需要让您的get服务器为您的网站上所有可能的URL显示相同的PHP页面。
如果您使用的是apache,作弊的一种方法是将此页面设置为您的自定义404页面。因此,每当用户使用缩小的URL访问您的站点时,这将指向一个不存在的路径。
如果路径不存在,apache将显示您的自定义错误404页面。如果此页面包含上述代码,那么您将能够找到URL的后缀,其中包含“收缩代码”。
如果你使用的是web主机,那么他们通常会有自己的自定义UI来选择错误页面。只需在此处输入PHP脚本的路径即可。如果您自己托管和配置apache,请参阅the manual。
https://stackoverflow.com/questions/19543109
复制相似问题