我是制作网站的新手。作为一个个人项目,我想做一个 URL 缩短服务。一切都很好,除了一件事。
我无法处理传入的请求。
例如。如果有人键入 www.examp.le/Dnd5Je,我希望能够从 URL 中获取最后 6 个字母,然后在数据库中查找它。
问题是如果不使用 $_GET 数组并在 URL 中使用诸如 ?id=77 之类的标识符,我无法弄清楚如何获取字母。
我有点迷茫,如果对如何提取最后 6 个字母有任何帮助,我将不胜感激。谢谢
您可以在文件中重写 URL .htaccess
:
RewriteEngine On
RewriteRule ^([^/.]+)/$ index.php?target=$1
RewriteRule ^$ index.php
上面的代码将重写一个 URL,例如www.examp.le/foobar123/
to www.examp.le/index.php?target=foobar123
。然后,您可以使用该$_GET
变量来读取 的值$_GET['target']
。
尝试使用$_SERVER['REQUEST_URI']
.
$_GET 数组没有被填充的原因是因为在 www.examp.le/Dnd5Je 中接收的是一个没有 GET 信息的有效 URL。GET 信息位于问号 (?) 之后作为键/值对
为了实现您想要实现的目标,您需要让您的网络服务器“重写”URL。如何执行此操作取决于您使用的 Web 服务器。对于 Apache,可以在此处找到文档
你可以使用$_SERVER['REQUEST_URI']
. 它将包含前导斜杠,即/Dnd5Je
来自您的示例,您可以轻松删除它。
有关更多信息,请考虑$_SERVER 手册