1

这只是一种好奇。我见过这几次:

http://www.website.com/index.php/en/contacts.html

这种逻辑背后的原因是什么?为什么我们有 php 文件后跟 html 文件?

4

4 回答 4

1

无法确定,但我敢打赌“en/contacts.html”是要包含的 index.php 文件的路径(非常糟糕的做法)。不要使用这种 URL 语法,因为它们对用户和搜索引擎都不友好。

于 2012-04-19T01:30:02.270 回答
1

index.php有些人发现拥有一个包含(除其他外)连接到数据库、页面的基本布局(导航、页脚等)等内容的单个文件更容易,然后让它包含实际文件(在这种情况/en/contacts.html)里面。

就个人而言,我认为这是一个坏主意,因为有很多更好的方法可以做到这一点。其中之一是 中的auto_prepend_fileandauto_append_file选项php.ini

于 2012-04-19T01:31:09.980 回答
1

这很可能是使用包含一些路由机制的框架。index.php 将 /en/contacts.html 作为参数,检索适当的文件并根据预先确定的规则处理它们。

在大多数情况下,在 Apache 或 Nginx(或任何正在使用的网络服务器)中使用重写规则,因此 url 可以采用以下形式:

http://www.website.com/en/contacts.html

然后根之后的所有内容都被解释为 index.php 中的参数。

于 2012-04-19T01:31:57.610 回答
1

在 PHP(我相信其他服务器端语言)中,您可以index.php通过引用超全局来获取路径,$_SERVER['path_info']在这种情况下,值为

/en/contacts.html

,然后您可以在应用程序中处理您认为合适的路径(例如在 MVC 中/users/list,您将初始化users控制器并list对其运行操作)

于 2012-04-19T01:35:15.810 回答