Несколько корней документов - PullRequest
1 голос
/ 26 октября 2010

У меня есть специальный запрос.Я использую evhost с lighttpd, и все отлично работает, кроме этого:

$HTTP["host"] =~ "^[^.]+\.[^.]+$" {
     evhost.path-pattern = vhosts_dir + "/customers/%2.%1/public/"
     evhost.path-pattern = vhosts_dir + "/customershops/%2.%1/public/"
     evhost.path-pattern = vhosts_dir + "/company/%2.%1/public/"
}

Так что я бы хотел сделать каталог над моим шаблоном "динамическим".Или на самом деле просто загляните внутрь трех каталогов и затем используйте правильный каталог vhost.

С уважением

Мистер Повстанец

1 Ответ

0 голосов
/ 26 октября 2010

mod_evhost должен иметь возможность определить один корень документа из частей представленного имени хоста.Он не может угадать среди трех вариантов и не пытаться выяснить, какой из них существует (особенно, если это происходит по нескольким случайным причинам).

Вы должны будете либо предоставить mod_evhost достаточно информации в именах хостов, чтобыоднозначно выберите путь, или вам придется задействовать хотя бы один уровень перенаправления в вашей файловой системе.

Вариант 1:

evhost.path-pattern = vhosts_dir + "/%2.%1/public/"
Это приводит к потере всей информации о клиенте / магазине / компании, которую вы хотите захватить,но на самом деле это позволяет mod_evhost работать.

Вариант 2. У вас есть каталоги, которые вы хотите разделить, и каталог, полный ссылок на эти каталоги.FS имеет видимую структуру, и mod_evhost должен только угадать имя ссылки, которая перенаправляет в вашу структуру.

  directory_containing_links/
    foo.bar -> ./customers/foo.bar/public/
    foo.baz -> ./customershops/foo.baz/public/
    foo.qux -> ./company/foo.qux/public/
    quux.bar -> ./customershops/quux.bar/public/
    quux.baz -> ./customers/quux.baz/public/
    (and so on, with one link per site)
  directory_containing_sites/
    company/foo.qux/public/(web site here)
    customers/foo.bar/public/(web site here)
    customers/quux.baz/public/(web site here)
    customershops/foo.baz/public/(web site here)
    customershops/quux.bar/public/(web site here)
Тогда ваш шаблон evhost будет
evhost.path-pattern = directory_containing_links + "/%2.%1/"
Обратите внимание, что directory_conisting_links и directory_conisting_sites могут быть одним и тем же каталогом.
...