0

我的 PHP 脚本有问题,所以链接是这样的:page.php?id=1412.

但我不想使用$_GET['id'];获取数据 程序有没有办法像这样识别 URL localhost/1412,然后尝试在数据库1412中的id字段中查找?

Not Found page ?如果可能的话,由于文件夹 1412 不存在,我该如何避免?

4

3 回答 3

0

您可以正则表达式当前的 uri ($_SERVER['REQUEST_URI'])。参见创建正则表达式:PHP URL Regex and Parameter

于 2012-12-27T19:52:49.363 回答
0

.htaccess 文件是一种解决方案,您可以访问这种类型的 url,并可以使用.htaccess文件将值发送到 php 文件,请参阅这篇不错的文章来执行此操作

http://net.tutsplus.com/tutorials/other/using-htaccess-files-for-pretty-urls/

于 2012-12-27T19:53:27.617 回答
0

对于所有这种匹配,您需要为 apache 使用 .htaccess 文件,或者在 nginx/lighthttpd 等的配置文件中实现的类似功能。基本上,当像 x/1412 这样的请求到来时,您可以在将其分派到 php 引擎之前对其进行匹配,并在内部将其转换为 x?id=1412 。其他解决方案涉及将所有请求重定向到前端控制器(用作应用程序的单个入口点的脚本)并让 url 匹配器匹配要执行的路由。后者几乎在每个大/小 php 框架中都实现了。

于 2012-12-27T19:56:27.250 回答