Apache несколько VirtualDocumentRoot

Вы всегда можете сказать EF об этом с условностями в классе Context в функции OnModelCreating следующим образом:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    // <... other configurations ...>
    // modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
    // modelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention>();
    // modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();

    // Configure Decimal to always have a precision of 18 and a scale of 4
    modelBuilder.Conventions.Remove<DecimalPropertyConvention>();
    modelBuilder.Conventions.Add(new DecimalPropertyConvention(18, 4));

    base.OnModelCreating(modelBuilder);
}

Это относится только к Code First EF fyi и применяется ко всем десятичным типам, сопоставленным с db.

14
задан Ben 15 February 2009 в 08:22
поделиться

4 ответа

Apache обычно будет выбирать первый виртуальный хост чей ServerName или ServerAlias соответствия имя хоста, обеспеченное в Host HTTP-заголовок. В Вашем случае, так как у Вас нет никакого ServerName директивы, Apache, предположительно, использует обратный поиск DNS на IP-адресе для фальсифицирования имени сервера, и предполагая, что обратный DNS приводит к domain.com, который не соответствует, Apache затем значения по умолчанию к первому виртуальному хосту. Звуки усложнили, я знаю..., что нижняя строка, необходимо использовать ServerName и ServerAlias для создания конфигурации явной. Попробуйте что-то больше как это:

NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
    ServerName domain.com
    ServerAlias www.domain.com
    VirtualDocumentRoot /var/www/%0
</VirtualHost>
<VirtualHost 127.0.0.1>
    ServerName sub.domain.com
    ServerAlias *.domain.com
    VirtualDocumentRoot /var/www/%2.%3_%1
</VirtualHost>

, Который должен использовать /var/www/domain.com для [1 111] http://domain.com и /var/www/www.domain.com для [1 112] http://www.domain.com , оба из которых подаются первым vhost, и /var/www/sub.domain.com для [1 113] http://sub.domain.com , /var/www/blah.domain.com для [1 114] http://blah.domain.com , и так далее.

13
ответ дан 1 December 2019 в 13:22
поделиться

В этой конфигурации я заметил, что $ _SERVER ['DOCUMENT_ROOT'] указывает на / var / www / html, а не на корень документации виртуального хоста. . странно.

Обновление (2010-07-24):

Я только что написал в блоге сообщение о том, как настроить HTTP-сервер проверки http://www.devcha.com/2010/07/ как настроить-ваш-http-proof-server.html

0
ответ дан 1 December 2019 в 13:22
поделиться

Относительно OP и проблемы с установкой "/ var / www / html":

Проблема, с которой я столкнулся, заключалась в использовании% 1 вместо% 2. Вот мой рабочий пример:

ServerAlias www.*.org.au
UseCanonicalName Off
VirtualDocumentRoot /path/to/sites/%2/pub

Надеюсь, это кому-то поможет!

Я читал документы по «Интерполяции имен каталогов» в документах mod_vhost_alias .

2
ответ дан 1 December 2019 в 13:22
поделиться

Вы должны указать обратные ссылки, если хотите поставить '.' в пути к файлу. Итак, вам нужно, чтобы это было так:

VirtualDocumentRoot /var/www/%2.0.%3_%1
4
ответ дан 1 December 2019 в 13:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: