一开始我以为url的大小写是不区分的,实际上调试时是可以发现获取到的url是大小写是和请求时一致,
所谓的没区分,只是服务器或者相应的代码做的处理。
在phalcon里如果路由是api/test,则会加载ApiController类里的testAction。
但是我们做了一个json schema验证,每个Controller对应一个文件夹,Action对应一个schema。
比如ApiController/testAction,则是api目录,test.json文件,请求时自动根据url读取对应的文件。
如果url没有小写,而Linux是区分文件大小写的,那么就会找不到目录或文件。
解决方法,和客户端约定好,都用小写,最好的方法是
修改index.php,把url都转为小写。
if (isset($_GET['_url'])) {
$_GET['_url'] = strtolower($_GET['_url']);
}
参考此文。