Ich verwende Apache + Phalcon (PHP-Framework) und habe die Routing-Regeln des Frameworks konfiguriert. Beim Zugriff kann direkt über den Ordnerpfad oder über den Routing-Regelabgleich darauf zugegriffen werden. Was ist das zugrunde liegende Implementierungsprinzip?
在这两种情况中,并不存在分发请求的问题,因为这本身就是两个不一样的请求。
对于路由规则的这个请求来说,Apache会先到项目根目录下寻找
.htaccess
配置文件,找到之后读取其中的信息。在本项目中,.htaccess
中写的应该是非静态文件全部指向index.php
。回到刚才你的问题:
通过文件夹路径直接访问说明Apache找到了这个“静态文件”,就是那个目标php文件。
通过路由规则匹配的URL访问,Apache会发现这个静态文件不存在,就会把请求指向
index.php
,这时候请求就由PHP代码接管,去匹配路由规则,处理页面。