使用 Apache 组织和托管静态文件(下载)?

使用 Apache 组织和托管静态文件(下载)?

我正在尝试重新组织我们的网络服务器,并将可下载文件与网站的 HTML/内容分开。我已设置了一个“数据”目录,如下所示:

/data
  /public
    /pdf, /image, /audio, etc...
  /protected
    /pdf, /image, /audio, etc...

因此 /public 中的所有内容都是完全可访问的,/protected 中的所有内容都受 ModAuth 保护。

我的问题是,有没有办法直接从“文件类型”子目录中链接文件?这将使所有 URL 都变成“/public/something.jpg”或“/private/mydoc.pdf”形式,而无需在 URL 中使用子目录。但是,我仍然希望将子目录用于我自己的组织。

这不是一个很大的问题,只是我在开始研究这个问题时感到好奇的事情。

答案1

这项工作适合mod_rewrite

http://httpd.apache.org/docs/current/mod/mod_rewrite.html

或者,也许更多关于 SF 的内容:

在 Apache 中重定向、更改 URL 或将 HTTP 重定向到 HTTPS - 您想了解但又不敢问的有关 Mod_Rewrite 规则的一切

你将会得到类似这样的信息:

RewriteEngine On
RewriteRule /public/(.*)\.jpg        /public/image/$1.jpg
RewriteRule /public/(.*)\.pdf        /public/pdf/$1.pdf

等等,不管有多少种类型。

相关内容