thinkphp部署bae的相关配置

thinkphp3.2.3发布到bae3.0,在tp的config.php中设置URL_MODEL=1,入口文件index.php中设置

define('BIND_MODULE', 'Home'); // 绑定Home模块到当前入口文件
define('BIND_CONTROLLER','Index'); // 绑定Index控制器到当前入口文件

这样在xampp中调试可以直接是localhost/web_app/index.html访问首页,在index.html中做跳转可以是href='contact.html',localhost/web_app/contact.html访问contact.html页面,这样可以隐藏掉入口文件和入口模块。

在bae中就要设置app.conf来实现url重写,

handlers:
    - expire : .jpg modify 10 years
    - expire : .swf modify 10 years
    - expire : .png modify 10 years
    - expire : .gif modify 10 years
    - expire : .JPG modify 10 years
    - expire : .ico modify 10 years
    - url : /Public/(.*)
      script: /Public/$1
    - url : /(.*)
      script: /index.php/$1


这里的空格和格式有很严格的要求,否则bae会无法访问。- url : /Public/(.*)表示所有以/Public开头的访问,全部重写为/Public/$1,这里的$1就是上面的(.*),当url不匹配这个表达式,则进入- url : /(.*)表示在所有的访问前添加index.php,模拟thinkphp的path_info访问。

我们还想要在本地测试的时候,加载本地的数据库,然后在bae上加载bae的数据库,这个时候我们可以使用thinkphp的状态配置,APP_STATUS。我们在入口文件index.php中添加上

define('APP_STATUS','config_bae');
然后在Application/Common/Conf文件夹下面创建config_bae.php文件来配置bae的数据库链接。

thinkphp部署bae的相关配置_第1张图片thinkphp部署bae的相关配置_第2张图片

这样就解决了thinkphp在不同的服务器上加载不同数据库的问题了。认真看帮助文档,还是可以解决问题的。

你可能感兴趣的:(thinkphp部署bae的相关配置)