根目录下创建一个 app.yaml 文件, 和 webroot 平级
以下是配置格式模板,您可以根据需要修改参数,然后去掉配置项前的"#",保存后生效
注意:
1、“#”为注释标记符号,从#至行尾的字符仅作备注用,不会作为配置参数生效
2、不能用制表符(缩进符),使用空格缩进
3、该文件最大不得超过 1.6k 字节
4、修改配置文件后, 记得重新部署(如果没有自动部署)并且重启
默认配置:
# 当目录路径无法找到时, tryuri 转发到 index.php 处理, 这个等同于 nginx 规则中的 try_files $uri index.php # 目前 tryuri 仅支持目录路径, 对于文件路径类似 /xx-xx-xx.html 这种转发要自定义 rewrite 规则 tryuri: - path: / script: /index.php ossprefix: - /ace/app/
支持最多配置10个重写规则
使用nginx语法,禁用的字符 ';', "\n", "'", '"', '{', '}'
非 permanent 结尾的规则不支持重定向到 http(s) 或 $scheme 服务
示例:
# 这里对应的 nginx 规则为: rewrite ^/1.jpg$ /hello.php last;
rewrite: - url: ^/1.jpg$ script: http://xx.com/hello.php permanent # 外部跳转 checkfile: false # 默认是true,生成的nginx的location规则会加if判断 -e $request_filename - url: ^/(.+)\.html$ script: /index.php?q=$1 last
特殊应用,如: wordpress * tryuri 不支持正则表达式,只有路径和入口, 请不要写成类似 rewrite 格式
示例:
tryuri: - path: / # 如果你的 blog在 /wp下, 请配置 /wp script: /index.php # 表示uri请求会转发到 /index.php
针对 header 的 URL 跳转:
# 这边的例子是当用户绑定外部域名时, 跳转到外部域名的例子 rewrite_header: - header: host value: xxx.com # 缺省是模糊匹配,可匹配到 www.xxx.com,但是如果不想匹配到 www.xxx.com,要使用 ^xxx.com$ 来全匹配,注意避免主域名相同时跳转死循化 goto: http://other.xxx2.com permanent - header: Cookie value: ^key-(.*)$ # 非 host 支持模糊匹配 goto: /url.php?key=$1 - header: TAE-Protocol value: ^http$ goto: https://xxx.aliapp.com permanent # 用于判断如果不是访问自 https url,则跳转到 https 的 url, permanent 不可省略
目录支持 css、js、gif、jpg、jpeg、png、xml、swf 类型文件防盗链
except 配置表示, 列表中的路径或文件不受防盗链机制约束,任何情况下都能访问
示例:
antihotlinking: - except: ['/xxxxx/1.gif', '/xxxx/xxx/2.js'] # 例外的 url, 防盗链不生效的路径文件/目录, 最多10个不生效配置项
列出禁止浏览器访问的/ace/app/webroot/下的目录
支持最多配置10个目录,注意请在目录最后加 ”/“,否则认为是前缀匹配
示例:
deny: - /bin/ - /admin/
注意allowip 和 denyip 只能配置其中一个
最多配置10个路径规则
每个规则最多10个IP
路径(目录)名只能匹配^[a-zA-Z0-9/.//-_]+$
示例:
denyuri: - path: /bin/ allowip: ['1.1.1.1', '2.2.2.2'] denyip: ['3.3.3.3', '4.4.4.4']
TAE 用户需要创建文件存储服务, 用于支持分布式读写。
同时也支持阿里云的OSS 配置引入, 用于支持分布式读写。
示例:
oss_id: access _key #请填写阿里云用户中心->安全认证中生效状态的access _key oss_secret: secret_key #请填写access_key对应的secret_key oss_bucket: bucket_name #请指定用于存储文件bucket
配置网络分布式读写的目录 (路径), 请先在TAE中创建 文件存储服务
文件存储服务激活后会生成一个隐含的空间, TAE会将动态生成的文件生成到“隐含空间”(Alibaba::Storage([空]))
单个文件写入最大字节数不超过4MB,超出限制的文件不予写入
支持最多配置10个目录
暂不支持配置目录下对子目录的遍历操作
暂不支持并发读写, 需要自行解决读写一致性问题
在所配置的文件存储服务 bucket 下会生成同路径的文件夹和文件, 请勿删除和修改
"同步" 指的是在生成新文件时同步到文件存储服务上
示例:
ossprefix: - /ace/app/webroot/wp-content/ # 填写绝对路径, TAE 上的代码目录以 /ace/app 做为绝对路径 - /ace/app/webroot/wp-admin/
示例:
expires: - path: /bin/xxx/.*\.js # 匹配路径表达式 time: 1h # 过期时间值
内存设置越小, php 处理请求的能力越强, 并发能力越强
内存设置加大, 主要用于消耗内存过多的应用
配置的最小值不小于 8, 最大值根据运行环境不同而定, 一般是 48 ~ 128
示例:
memory_limit: 16 # 8 或 32 或 48 等, 注意不要加 m或者M
出现 status 指定状态的页面时,重定向到 page
不可重复定义已经存在的 status 状态码,如:只能定义一个 404、504
注意重新发布且重启后配置生效
示例:
error_page: - status: 504 505 page: /50x.html # 确保这个文件路径正确 - status: 404 page: /40x.html # 确保这个文件路径正确