我刚刚设置了一个 Apache2 服务器,它运行良好。由于此服务器的目的只是提供版本控制文件,因此我创建了一个latest
符号链接,其目标为例如 myfile_v1.1.0.ext
。
问题是,当我访问 URL 时http://localhost/latest
,下载窗口显示latest
文件名和application/octet-stream
MIME 类型。
我希望当我访问同一个 URL 时,它显示myfile_v1.1.0.ext
为文件名和application/my-app
MIME 类型。
有办法实现这个吗?
提前谢谢了
答案1
一种方法是在 Apache 配置中使用别名。缺点是每次发布时您都需要更新它,但好处是您可以更好地控制文件的处理方式。
以下是具体操作方法:
.conf
编辑站点的Apache文件- 在该部分中添加
<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
适合该文件的内容类型进行替换。 - 保存文件并重新启动 Apache:
笔记:请随意sudo service apache2 restart
restart
切换reload
。 - 通过访问测试网址
your.site/download
本版本已在 Ubuntu Server 20.04.3 LTS 和 Apache 2.4.41 上进行了测试
答案2
Redirect
解决方案是在您的网站的 Apache 配置文件中添加一条指令。
Redirect "/latest" "files/myfile_v1.1.0.ext"