我使用的是 apache + phalcon(PHP框架),配置了框架的路由规则。访问的时候既能通过文件夹路径直接访问,也能t通过路由规则匹配访问,我想弄明白apache怎么处理这些请求的,底层的实现原理是什么?
为情所困2017-05-16 17:05:29
访问的时候既能通过文件夹路径直接访问,也能t通过路由规则匹配访问。我是想问apache分发请求的时候,是按照什么顺序?
在这两种情况中,并不存在分发请求的问题,因为这本身就是两个不一样的请求。
对于路由规则的这个请求来说,Apache会先到项目根目录下寻找 .htaccess
配置文件,找到之后读取其中的信息。在本项目中, .htaccess
中写的应该是非静态文件全部指向index.php
。
回到刚才你的问题:
通过文件夹路径直接访问说明Apache找到了这个“静态文件”,就是那个目标php文件。
通过路由规则匹配的URL访问,Apache会发现这个静态文件不存在,就会把请求指向index.php
,这时候请求就由PHP代码接管,去匹配路由规则,处理页面。