这只是一种好奇。我见过这几次:
http://www.website.com/index.php/en/contacts.html
这种逻辑背后的原因是什么?为什么我们有 php 文件后跟 html 文件?
无法确定,但我敢打赌“en/contacts.html”是要包含的 index.php 文件的路径(非常糟糕的做法)。不要使用这种 URL 语法,因为它们对用户和搜索引擎都不友好。
index.php
有些人发现拥有一个包含(除其他外)连接到数据库、页面的基本布局(导航、页脚等)等内容的单个文件更容易,然后让它包含实际文件(在这种情况/en/contacts.html
)里面。
就个人而言,我认为这是一个坏主意,因为有很多更好的方法可以做到这一点。其中之一是 中的auto_prepend_file
andauto_append_file
选项php.ini
。
这很可能是使用包含一些路由机制的框架。index.php 将 /en/contacts.html 作为参数,检索适当的文件并根据预先确定的规则处理它们。
在大多数情况下,在 Apache 或 Nginx(或任何正在使用的网络服务器)中使用重写规则,因此 url 可以采用以下形式:
http://www.website.com/en/contacts.html
然后根之后的所有内容都被解释为 index.php 中的参数。
在 PHP(我相信其他服务器端语言)中,您可以index.php
通过引用超全局来获取路径,$_SERVER['path_info']
在这种情况下,值为
/en/contacts.html
,然后您可以在应用程序中处理您认为合适的路径(例如在 MVC 中/users/list
,您将初始化users
控制器并list
对其运行操作)