fastphp
fastphp copied to clipboard
对于不会操作“站点根目录配置到fastphp目录” 出现控制器不存在的解决思路
我知道很多免费空间没有配置站点根目录的操作权限 或者难得有一个站点,想把多个子目录利用起来的菜鸟们 运行下载的fastphp时,总会出现控制器不存在的问题
其实就是url字段出现了一个应用目录名称。 我有一个不成熟的解决思路(当然,我知道把应用目录列为站点根目录可以防止网站侵入,但fastphp的index.php并没有如TP5那样放在public目录中,所以有了现在这个思路)
在index.php中增加
// fastphp 为应用目录名
define('APP_NAME', '/fastphp');
然后再核心文件fastphp.php中调整路由函数
public function route()
{
.......
$url = $_SERVER['REQUEST_URI'];
//用到了子目录名称"fastphp" 所以自己需要把这个删除掉
//在入口文件中定义了 APP_NAME
$url = substr($url, strlen(APP_NAME));
这样在访问localhost/fastphp/index.php?{controller}/{action}就可以成功了
需要补充的是,对view中的视图 请把相关地址 增加“/fastphp”内容 如把href="/item/index"修改为 href="/fastphp/item/index"
这样才运行有效
感谢作者,一个极简的MVC phpframwork 学到很多