Назад | Перейти на главную страницу

Организация и размещение статических файлов (загрузок) с помощью Apache?

Я пытаюсь реорганизовать наш веб-сервер и отделить загружаемые файлы от HTML / содержимого сайта. Я установил каталог «данных» так:

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

Таким образом, все в / public полностью доступно, все в / protected находится за ModAuth.

Мой вопрос в том, есть ли способ напрямую связать файлы из подкаталогов "файлового типа"? Это сделает все URL-адреса в форме «/public/something.jpg» или «/private/mydoc.pdf» без необходимости в подкаталогах в URL-адресе. Однако я по-прежнему хочу использовать подкаталоги для своей организации.

Это не очень большая проблема, просто мне стало любопытно, когда я начал над этим работать.

Это была бы работа для mod_rewrite:

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

Или, возможно, больше о SF:

Перенаправление, изменение URL-адресов или перенаправление HTTP на HTTPS в Apache - все, что вы когда-либо хотели знать о правилах Mod_Rewrite, но боялись спросить

У вас будет что-то вроде:

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

и так далее, сколько бы у вас ни было типов.