Apache Multiple VirtualDocumentRoot для одного подстановочного домена *.dev

Я работаю с Virtualhosts и локальным универсальным TLD домена, и мне нужно 3 варианта использования для одновременной работы, но пока я смог заставить работать только два одновременно.

Мне нужно, чтобы три разных тестовых домена имели доступ к соответствующему корневому каталогу документов.

  1. Вариант 1: test1.dev --> /path/to/www/SomeFolderName (переопределение с использованием собственного уникального имени папки и файла виртуального хоста)

  2. Вариант 2: *.dev --> /path/to/www/%0 (полный URL-адрес, включая .dev, поэтому test2.dev указывает на /path/to/www/test2.dev )

  3. Вариант 3: *.dev --> /path/to/www/%1 (полный URL-адрес исключая .dev, поэтому test3.dev указывает на /path/to/ www/тест3 )

Итак, мне нужны две ситуации с подстановочными знаками для любого домена, такого как test2.dev или test3.dev, вместо этого используйте VirtualDocumentRoot "/path/www/%0", если он существует, или VirtualDocumentRoot "/share/www/%1", если он существует.

Прямо сейчас работает либо вариант 2, либо вариант 3, в зависимости от того, что загружается первым, но не оба одновременно. Как сделать так, чтобы 1 перехват всех доменов выбирал только существующий корень документа?


person Aaron Harun    schedule 12.04.2013    source источник


Ответы (2)


На самом деле не поддерживается, чтобы Apache менял корень документа в зависимости от того, существует ли каталог на самом деле. Я думаю, вам повезет больше, стандартизировав корни документов, чтобы они все были /share/www/testX.dev, и создав при необходимости символические ссылки от /share/www/testX.dev до /share/www/testX. Вы даже можете создать символические ссылки из пользовательского обработчика 404.

person Old Pro    schedule 21.04.2013

Вместо этого вы можете попробовать использовать один единственный корень документа для всех каталогов и проверить mod_rewrite на наличие папок и/или файлов (используя RewriteCond с -fили -d вместо CondPattern) и переписать URL-адреса, чтобы получить правильные файлы. Это будет работать с доменами с подстановочными знаками и иметь довольно гибкие правила относительно того, какую папку использовать и когда.

person escitalopram    schedule 22.04.2013