我的 PHP 脚本有问题,所以链接是这样的:page.php?id=1412
.
但我不想使用$_GET['id']
;获取数据 程序有没有办法像这样识别 URL localhost/1412
,然后尝试在数据库1412
中的id
字段中查找?
Not Found page ?
如果可能的话,由于文件夹 1412 不存在,我该如何避免?
您可以正则表达式当前的 uri ($_SERVER['REQUEST_URI'])。参见创建正则表达式:PHP URL Regex and Parameter
.htaccess 文件是一种解决方案,您可以访问这种类型的 url,并可以使用.htaccess文件将值发送到 php 文件,请参阅这篇不错的文章来执行此操作
http://net.tutsplus.com/tutorials/other/using-htaccess-files-for-pretty-urls/
对于所有这种匹配,您需要为 apache 使用 .htaccess 文件,或者在 nginx/lighthttpd 等的配置文件中实现的类似功能。基本上,当像 x/1412 这样的请求到来时,您可以在将其分派到 php 引擎之前对其进行匹配,并在内部将其转换为 x?id=1412 。其他解决方案涉及将所有请求重定向到前端控制器(用作应用程序的单个入口点的脚本)并让 url 匹配器匹配要执行的路由。后者几乎在每个大/小 php 框架中都实现了。