/dev/sda2 раздел является стандартным временным хранением, которое обеспечивают все экземпляры EC2; как Вы заметили, это - нестойкое устройство хранения данных, которое уходит, когда Вы останавливаете экземпляр. На экземплярах UNIX это обычно монтируется как/mnt - можно использовать его при необходимости в большом объеме временного хранения для файлов журнала, которые Вы не должны сохранять, или для того, чтобы хранить временные файлы нуждался в wehen, Вы создаете пользовательский AMI из своего экземпляра.
Взгляните на документы AWS о поддержанных экземплярах EBS, если Вы хотите иметь экземпляр, где все файловые системы являются персистентными.
Я бы пошел еще дальше с mod_alias и использовал директиву AliasMatch . Должно работать так же, как решение EightbitTony, но дает вам дополнительную мощность регулярных выражений.
Я провел небольшое тестирование, и похоже, что он должен работать.
AliasMatch ^/([a-zA-Z0-9_-]+)/(.*) /www/$1/public/$2
Take a look at the apache dynamically configured mass virtual hosting documentation. It doesn't sound like you have huge numbers of vhost so the VirtualDocumentRoot
and related configuration directives will probably do what you want e.g.
VirtualDocumentRoot /www/%2/public
which would map to /www/project-name/public
. The %n
parameter is interpolated from the URL with %0 being the whole, %1 the first part etc.
Я не думаю, что вы хотите что-либо переписывать, разве вам просто не нужны старые добрые утверждения Alias?
От http://httpd.apache.org/docs/2.0/mod/mod_alias.html ,
Description: Maps URLs to filesystem locations
Syntax: Alias URL-path file-path|directory-path
Context: server config, virtual host
Status: Base
Module: mod_alias
Итак,
Alias /project-name/ /some/path/to/project-name/public/
Alias /project-name2/ /some/path/to/project-name2/public/
Alias /project-3/ /another/totally/different/path/public/