在index.php之后,URL中的文本有什么意义?

时间:2013-02-27 16:52:23

标签: php url url-routing

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

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

3 个答案:

答案 0 :(得分:2)

  

我想知道在index.php /

之后,URL中的文本有什么特殊含义

那里没有内在的特殊含义。在第一个?之后和第一个#之后分配特殊含义。

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

/index.php代码中的index.php后面的路径为:

 $_SERVER["PATH_INFO"]

e.g。对于http://domain.com/index.php/nice/url的网址:

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

此技术用于在PHP 中创建干净/漂亮的URL,而不支持.htaccess