群晖web 架设Thinkphp5开启伪静态

一直是在本机开发微信商城,有时候人不在公司,同事又需要访问系统的时候会比较麻烦。因此决定把程序放到NAS上运行,由于群晖上的web环境不是自己装的LNMP环境(本机及云主机都是用的nginx作后端服务),所以修改配置文件也相对麻烦一些。先用root账户SSH后,需要修改的虚拟机配置文件地址是:/var/tmp/nginx/app.d/server.webstation-vhost.conf (/etc/nginx/app.d)
如果修改这里的conf文件,每次重启服务器会恢复,因此不能修改这里的地方。打开server.webstation-vhost.conf
看到这里对应的域名会加载自己的配置文件,如下:

include /usr/local/etc/nginx/conf.d/3391bf64-c8d6-44cd-87ec-eb039c8f4daf/user.conf*;

因此在3391bf64-c8d6-44cd-87ec-eb039c8f4daf下新建一个我们需要的配置文件如:user.conf.tp5 内容如下:

location / { // …..省略部分代码
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=/$1  last;
   break;
    }
 }

保存后,执行命令nginx -s reload重新加载配置文件。

然后到群晖的web station开启对应的扩展:GD、curl、iconv。搞定

后台管理页的iframe嵌套(bootstrap)

差不多花了一晚上才研究懂这个东西啊。在做后台按钮的时候点击按钮会打开新的页面。这里用iframe现在主页面布局里放一个框架。定义一个DIV。以下是Bootstrap说明:

具有响应式特性的嵌入内容: 根据被嵌入内容的外部容器的宽度,自动创建一个固定的比例,从而让浏览器自动确定视频或 slideshow 的尺寸,能够在各种设备上缩放。

这些规则被直接应用在 <iframe>、<embed>、<video> 、 <object> 元素上。如果你希望让最终样式与其他属性相匹配,还可以明确地使用一个派生出来的 .embed-responsive-item 类。

超级提示: 不需要为 <iframe> 元素设置 frameborder="0" 属性,因为我们已经替你这样做了!

<!-- 16:9 aspect ratio -->
<div class="embed-responsive embed-responsive-16by9">
  <iframe class="embed-responsive-item" src="..."></iframe>
</div>

<!-- 4:3 aspect ratio -->
<div class="embed-responsive embed-responsive-4by3">
  <iframe class="embed-responsive-item" src="..."></iframe>
</div>

我这里的后台主页上添加代码:

<div class="embed-responsive embed-responsive-16by9">
  <iframe class="embed-responsive-item" name="iframe" src="..."></iframe>
</div>

这里需要用name元素来定义这个框架名字,然后在a连接上就可以加上target='iframe'如:

<li><a href="{:U('Category/addCate')}" target='iframe'>添加分类</a></li>

thinkphp3.2.2前后台公用控制器

thinkphp3.1.3里面前后台控制器是app/lib/action/baseaction

thinkphp3.2.2的这么创建Application/Common/Controller/BaseController.class.php

/*
* 项目公用控制器
* imxfeng @2015.4.12
* imxfeng@qq.com
*/
namespace Common\Controller;
use Think\Controller;
class BaseController extends Controller {
    public function index(){
        echo 'olcms的项目公用控制器';
        $this->display();
    }
}

模块公用控制器调用(分组)

/*
* HOME分组公用控制器
* imxfeng @2015.4.11
* imxfeng@qq.com
*/
namespace Home\Controller;
use Common\Controller\BaseController;
class HomeController extends BaseController {
}

控制器调用

/*
* HOME分组公用控制器
* imxfeng @2015.4.11
* imxfeng@qq.com
*/
namespace Home\Controller;
class IndexController extends HomeController {
}