更新时间:2023-10-23 17:17:50
URL改写,支持CDN在接受到客户端请求时进行改写,支持重定向改写和CDN内部改写。CDN缓存及回源,默认使用的是改写后的URL。
网宿URL改写支持3种配置模式:
登录网宿CDN控制台,选择域名所在的产品线。
选择域名,单击配置修改。
在自助配置界面选择:页面改写/重定向-URL/协议改写,单击添加。
配置类型一: 协议改写
此处的协议改写,是指节点收到客户端请求时就进行改写, 节点缓存或者回源时会使用改写后的URL&协议。 若仅是节点回源时进行协议改写,请到“回源协议改写”中配置回源协议改写。
配置步骤:
1) 配置生效范围,此处提供4种生效范围供选择:
参数 | 描述 |
---|---|
所有请求 | 针对该域名下的所有请求都会生效此功能 |
仅首页 | 表示仅针对http://domain/或https://domain/这种根目录格式的请求生效此功能。 |
指定文件类型 | 可选择常用类型或自定义文件类型,多个文件类型之间以英文分号分隔。例如:ace;aac。表示此配置对此类文件类型均会生效 |
指定URI |
可以设定针对URI的请求生效此功能。 不以“http://”或“https://”开头,仅配置URL中的URI部分;多条换行分隔。例如:完整URL为:http://www.test.com/browse/index.html,则配置内容为:/browse/index.html。 |
指定目录 | 可以设定仅部分目录下的请求进行访问控制。目录必须以“/”开头和结尾,由字母、数字及部分特殊符号(包含下划线、减号、百分号、点)任意组合;多个目录换行分隔。 例如:/file1/123/和/file2/1%1/表示http://加速域名/file1/123/和http://加速域名/file2/1%1/两个目录及目录下所有文件。 |
另外,可选配置进阶生效范围, 此配置项配置的内容,与“生效范围”中配置的内容,取交集则为此功能的生效范围。“例外”表示非,例如,例外的文件类型为jpg, 则表示除了jpg以外的其他文件类型。
2) 配置功能参数
参数说明
参数 | 描述 | 示例 |
---|---|---|
协议改写 | HTTP—>HTTPS;HTTPS—>HTTP | HTTP—>HTTPS |
改写模式 | 客户端重定向模式: CDN将改写后的URL重定向给客户端,由客户端重新发起请求,需配置“重定向状态码”;CDN内部改写模式:不会进行重定向,CDN直接返回改写后的文件给客户端。 | 客户端重定向模式+302 |
忽略大小写(非必配) | 默认忽略大小写,若选择否,则表示http://www.abc.com/a.jpg和http://www.abc.com/A.jpg为不同的文件,严格匹配大小写的URL才会生效规则。 | 是 |
优先级 | 若一条请求同时命中多条改写规则,则优先级高的生效 | 10 |
配置类型二: URL改写
参数说明
参数 | 描述 | 示例 |
---|---|---|
待重写URL | 有两种输入方式:以http/https开头的完整URL,例如:http://www.test.com/browse/index.html?aa=1;以http/https开头的正则表达式,例如(https://[^/]+)/.* | http://www.test.com/browse/index.html?aa=1 |
目标URL | 有两种输入方式:以http/https开头的完整URL,例如:http://www.test.com/browse/index.html?bb=1;正则表达式,例如$1/zh-cn,$1表示待重写URL中第一个括号的内容。 | http://www.test.com/browse/index.html?bb=1 |
改写模式 | 客户端重定向模式: CDN将改写后的URL重定向给客户端,由客户端重新发起请求,需配置“重定向状态码”;CDN内部改写模式:不会进行重定向,CDN直接返回改写后的文件给客户端。 | 客户端重定向模式+302 |
忽略大小写(非必配) | 默认忽略大小写,若选择否,则表示http://www.abc.com/a.jpg和http://www.abc.com/A.jpg为不同的文件,严格匹配大小写的URL才会生效规则。 | 是 |
优先级 | 若一条请求同时命中多条改写规则,则优先级高的生效 | 10 |
其中,在URL改写中,“组合生成正则” 可以根据客户的URL特征自动生成待改写的URL。具体说明如下:
例如:
红框中的3个要素,为改写生效的条件,即:URI为http://domain/browse/index.html且携带问号参数包含key1和key2且key1在key2前面的的URL会被改写。
则: