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