将子域名直接指向文件

将子域名直接指向文件

我有一个 jar 文件,我想让用户通过一个简单的子域轻松访问它。目前,他们访问https://subdomain.example.com/application.jar并直接开始下载应用程序。我更愿意将其缩短为https://subdomain.example.com/,当他们浏览该链接时,链接要么重定向(可能.htaccess)到application.jar资源,要么索引页上有一些代码可以启动应用程序的下载。

此子域名专门用于应用程序。它本质上是https://application.example.com/application.jar。没有提供其他页面或内容。只是一个简单的链接,用于直接下载资源。实现此目的的最佳和最简单的方法是什么?

我尝试过将 DNS 记录直接指向资源。但没成功。我尝试过 301 重定向,但可能操作不正确。我还没有尝试过使用可能包含一些 JavaScript 的索引页,因为这感觉是一种过于复杂且容易失败的方法。

答案1

你可以设置DirectoryIndex

DirectoryIndex application.jar

以下几行需要mod_headers并将提供下载的正确文件名:

<Files application.jar>
    ForceType application/java-archive
    Header set Content-Disposition "attachment; filename=application.jar"
</Files>

然而,正如我已经怀疑的那样,并非所有客户端都尊重这些标头。使用 Chrome,我在 testes 中获得了正确的文件名,wget 忽略了它并将文件存储为index.html

总体而言,301 更合适。有效的重定向将是:

RewriteEngine on
RewriteCond   %{REQUEST_FILENAME} -f
RewriteRule   ^ - [L]
RewriteRule   ^ "/application.jar"  [R]

这会将该子域上不存在的任何文件路径重定向至/application.jar

相关内容