V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
如果你希望学习 CDN 相关知识,那么建议你可以遍历以下软件的说明文档。
NGINX
cURL
helloiac
V2EX  ›  CDN

从七牛云 CDN 下载的文件可以自动重命名吗?

  •  
  •   helloiac · 2019-04-16 10:05:22 +08:00 · 3469 次点击
    这是一个创建于 1830 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在七牛云 CDN ( cdn.siteb.com )上放了一些资源文件(图片和 pdf 文档),是按一定的序列规律命名的,要在一个站上( www.sitea.com )供下载用。 因为想统计下载量,以及不想被[轻而易举]发现命名规律而批量拖文件,就在 sitea 的页面上加了自定义短链接,301 到 CDN 下载。

    问题和需求是: CDN 上文件的当前命名与内容关系不大,我期望用户下载时将资源自动重命名为更有意义的文件名。但发现将这个文件名写在链接的 download 属性中并不起作用,查了下是同源策略导致的。 那么,是否有其它办法实现这个目标?可以在程序端或者七牛云那里做什么?前提是不直接更改七牛云 CDN 上的文件名。

    其它相关问题: 提供这些文档的目的之一是丰富页面内容,让搜索引擎直接收录它们,并优化整个站点的 SEO。但是我不确定: 上述的 301 处理办法会影响搜索引擎收录吗? 如果在七牛 CDN 那里做鉴权,会影响搜索引擎收录或者 SEO 吗?

    第 1 条附言  ·  2019-04-16 12:35:31 +08:00
    七牛云的回复:

    您好,这边 CDN 不可以直接设置 rewrite,不过可以通过在 url 后加 ?attname= 的形式,来实现您说的需求,详情可以参考:
    https://developer.qiniu.com/kodo/manual/1659/download-setting

    这个方案可以接收,但感觉不太好,因为 url 不好看了。
    4 条回复    2019-04-16 11:42:51 +08:00
    dog
        1
    dog  
       2019-04-16 10:25:26 +08:00 via iPhone
    可以,在又拍云上做过同样的事,等会电脑上找个代码告诉你
    nowheretoseek
        2
    nowheretoseek  
       2019-04-16 10:49:14 +08:00
    @dog 期待,谢谢!
    dog
        3
    dog  
       2019-04-16 11:09:13 +08:00   ❤️ 1
    @nowheretoseek @helloiac

    举例说明

    假设存储在 cdn 上的文件是这样放的:/201904/abcd
    其中 201904 是按日期归档的文件夹,abcd 是随机文件名,或其它不友好的文件名,不带后缀的那种

    从主站 301 跳转到 cdn 的时候,跳转目标为 /201904/abcd/filename.zip
    这里的 filename.zip 就是友好文件名、或者数据库记录的原本的文件名,随便

    这时肯定是打不开的,要到 cdn 那边搭配一些 rewrite 规则,比如在又拍云里叫 边缘规则,

    匹配:^/(.+?)/(.+?)/(.+?).zip$
    规则:$ADD_RSP_HEADER(Content-Disposition, attachment, 1) /$1/$2

    解释一下就是添加一个响应头,告诉浏览器这是个附件(浏览器会执行下载),然后内部重定向到提取真实文件去,因为请求的时候带了 filename.zip 所以浏览器下载的时候,保存名会默认就是 filename.zip 了

    以上是我在又拍云折腾的例子,这套方案跟 token 防盗链不冲突,可以共存。
    匹配规则要按自己的业务去改,一些名词啥的可能和七牛那边也不一样,但思路应该都是行得通的。
    helloiac
        4
    helloiac  
    OP
       2019-04-16 11:42:51 +08:00
    @dog 谢谢,我在七牛云没有找到类似设置项,已提工单咨询。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3548 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 443ms · UTC 10:34 · PVG 18:34 · LAX 03:34 · JFK 06:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.