0

我想知道在 index.php/ 之后 URL 中的文本有什么特殊含义所以我会有一个类似 www.site.com/index.php/sometext 的地址,它是被解析为 GET 参数还是其他什么。

我正在开发一个供我个人使用的 PHP 框架。我要解决的问题是 URL 路由。

4

3 回答 3

2

我想知道在 index.php/ 之后 URL 中的文本有什么特殊含义

那里没有内在的特殊含义。特殊含义在 first?和 first 之后被分配#

也就是说,将针对/index.phpand运行相同的脚本/index.php/foo/bar/baz,并且请求的完整 URL 将通过 提供$_SERVER,因此脚本可以为其添加自己的特殊含义。

请参阅$_SERVER['REQUEST_URI']$_SERVER['PATH_INFO']了解一些有趣的内容。print_r$_SERVER也是值得的。

于 2013-02-27T16:55:05.187 回答
1

大多数框架使用之后的文本index.php来路由请求,而不必依赖丑陋的查询(例如:)?page=foo。因此,例如删除index.php一些.htaccess规则将提供一种拥有漂亮网址的方法:site.com/foo/bar. 后面的部分index.php可以通过$_SERVER['PATH_INFO'].

于 2013-02-27T16:56:09.407 回答
1

之后的路径在/index.php您的index.php代码中可用:

 $_SERVER["PATH_INFO"]

例如对于以下网址http://domain.com/index.php/nice/url

$_SERVER["PATH_INFO"]=/nice/url

该技术用于在 PHP 中创建干净/漂亮的 URL,而无需任何 .htaccess 支持

于 2013-02-27T16:56:48.487 回答