如何在不使用正则表达式或解析字符串的情况下从此URL获取此数据


How to grab this data from this URL without using regex or parsing the string?

网址如下: http://mytesturl.com/index.php/myvalue

我希望能够从上面的URL拉"mydata"没有解析或使用正则表达式。

我想知道是否有一个内置的方法来获取数据"mydata"。这个结构有名字吗?

我知道如果我有这个http://mytesturl.com/index.php?t=myvalue

这是一个查询字符串,我可以轻松地以任何语言提取t的值。

在PHP中,您可以使用PATH_INFO服务器变量获得此值。这提供了

任何客户端提供的路径名信息,在实际脚本文件名之后,但在查询字符串(源)之前

本例中$_SERVER['PATH_INFO']/myvalue

实际上,如果你没有访问你的web服务器(即apache),我会在。htaccess文件中这样做,如果你在你的虚拟主机文件中改变它,确保你允许重写所有,并有a2模块重写(a2enmod重写)

然后你可以这样做:

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

然后fqdn之后的所有内容都可以通过_GET

获得

看起来这里有一个PHP路由器。尝试做一个var_dump($_SERVER),并寻找你的值,它可能是在$_SERVER['QUERY_STRING']$_SERVER['PATH_INFO']。否则,您也可以尝试parse_url()