Apache2 符号链接 - 如何使用目标名称和 MIME 类型

Apache2 符号链接 - 如何使用目标名称和 MIME 类型

我刚刚设置了一个 Apache2 服务器,它运行良好。由于此服务器的目的只是提供版本控制文件,因此我创建了一个latest符号链接,其目标为例如 myfile_v1.1.0.ext

问题是,当我访问 URL 时http://localhost/latest,下载窗口显示latest文件名和application/octet-streamMIME 类型。

我希望当我访问同一个 URL 时,它显示myfile_v1.1.0.ext为文件名和application/my-appMIME 类型。

有办法实现这个吗?

提前谢谢了

答案1

一种方法是在 Apache 配置中使用别名。缺点是每次发布时您都需要更新它,但好处是您可以更好地控制文件的处理方式。

以下是具体操作方法:

  1. .conf编辑站点的Apache文件
  2. 在该部分中添加<VirtualHost>
    Alias "/download" "/path/to/releases/myfile_v1.1.0.ext"
    <Directory "/path/to/releases">
            Options FollowSymLinks
            AllowOverride All
    
            <FilesMatch "\.(ext|zip)$">
                    Header set Cache-Control "max-age=1209600, public"
                    ForceType application/tar+gzip
            </FilesMatch>
    </Directory>
    
    笔记:确保使用application/tar+gzip适合该文件的内容类型进行替换。
  3. 保存文件并重新启动 Apache:
    sudo service apache2 restart
    
    笔记:请随意restart切换reload
  4. 通过访问测试网址your.site/download

本版本已在 Ubuntu Server 20.04.3 LTS 和 Apache 2.4.41 上进行了测试

答案2

Redirect解决方案是在您的网站的 Apache 配置文件中添加一条指令。

Redirect "/latest" "files/myfile_v1.1.0.ext"

相关内容