![使用 Apache 组织和托管静态文件(下载)?](https://linux22.com/image/585732/%E4%BD%BF%E7%94%A8%20Apache%20%E7%BB%84%E7%BB%87%E5%92%8C%E6%89%98%E7%AE%A1%E9%9D%99%E6%80%81%E6%96%87%E4%BB%B6%EF%BC%88%E4%B8%8B%E8%BD%BD%EF%BC%89%EF%BC%9F.png)
我正在尝试重新组织我们的网络服务器,并将可下载文件与网站的 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
等等,不管有多少种类型。