PHP框架:yaf的入口文件index.php是放到根目录还是public下面?

很多框架都是把index.php放到public下面,但是看到yaf框架有两个版本(github和文档),那最好是放到哪里呢?
我试着把它放到public下面,http://localhost/yaf_test/是无法访问的,但是http://localhost/yaf_test/public是能重定向到默认controller下面的,那要怎么配置才能省略public呢(index.php放在public下面)?

apache或nginx配置虚拟路径指向项目的public文件夹

apache的httpd.conf中开启路径重写,去掉前面#号

LoadModule rewrite_module modules/mod_rewrite.so

httpd-vhosts.conf中配置一个虚拟路径

<VirtualHost *:80> #监听端口
    ##ServerAdmin webmaster@dummy-host2.example.com #管理员邮箱
    DocumentRoot "" #项目路径
    ServerName xxx.xxx.com #访问网址
    ##ErrorLog "logs/dummy-host2.example.com-error.log" #错误日志
    ##CustomLog "logs/dummy-host2.example.com-access.log" common #访问日志
</VirtualHost>

hosts中配置

127.0.0.1 xxx.xxx.com

重启apache,访问xxx.xxx.com

鸟哥的博客文档典型目录结构也是将index.php放在public中

http://www.laruence.com/manual/tutorial….

public/index.php
最好就放这一个文件, 这样才能实现单入口

nginx配置root指向public

server{
...
root /xxx/xxxx/public;
...
}

这样考虑目录安全性,比如配置目录 conf 就不用再去单独限制访问

放到public下边吧

我看了很多其他框架的目录结构,yii,zend framework,laravel是把.htaccess和index.php放到public下面的,phalcon是把.htaccess放到根目录,index.php放到public下面的

  • php 代码重构疑惑,求解答
  • laravel 5.1记录关于某个数据表模型 进行的更改添加记录
  • Git线上存在一个文件,本地修改文件,如何让这个文件不被提交
  • 基于浏览器插件实现广告图片的替换具体怎么做?
  • Laravel5.x如何让404返回一个json?
  • PHP 怎么列出来某一个日期距离现在的日期
  • Laravel5.4 php artisan 创建控制器如何指定目录到 app\Api
  • 网上直播隐藏了rtmp,就算抓取出来也是无效的,怎么办?
  • php 数据 foreach问题
  • Yii2 格式化日期问题
  • php cli 安全中断退出