Tencent / Biny

Biny is a tiny, high-performance PHP framework for web applications
BSD 3-Clause "New" or "Revised" License
1.69k stars 258 forks source link

不支持url中index.php访问? #46

Closed aloncn closed 6 years ago

aloncn commented 6 years ago

必须实现重写,去掉index.php才能使用吗? 我试了如果不重写,哪怕只访问domain/index.php也出错; 即使做了重写,如果url中有index.php也会报错

billge1205 commented 6 years ago

Biny 中并没有对 index.php做特殊处理 也就是说domain/index.php中的index.php会被认为是路由的一部分 程序会去查找index.phpAction 当然因为PHP的命名限制是肯定会报错的 不过框架这边的确应该对index.php 进行特殊处理一下 谢谢你的建议 请关注后续更新

aloncn commented 6 years ago

是的。在getRouterInfo里过滤下就支持了

billge1205 commented 6 years ago

已更新 同时修复了无动态字段的重写逻辑(routeRule) 无法生效的问题

aloncn commented 6 years ago

@billge1205 我更新了你修复的,貌似不行 Fatal error: Action[index.phpAction] is not exists

我之前做法比较简单,直接在getRouterInfo里过滤下index.php

$_SERVER['REQUEST_URI'] = str_replace("/index.php","",$_SERVER['REQUEST_URI']);

billge1205 commented 6 years ago

我这边只替换了 REQUEST_URI 中最后面的 ‘index.php‘ 如果是中间的话 我这边不做替换 if (substr($pathRoot, -9) === 'index.php'){ $pathRoot = substr($pathRoot, 0, -9); }