win msi descargar apache apache2

msi - Apache Multiple VirtualDocumentRoot



apache windows (5)

Normalmente, Apache seleccionará el primer host virtual cuyo ServerName o ServerAlias coincidan con el nombre de host proporcionado en el encabezado HTTP del Host . En su caso, dado que no tiene directivas ServerName , Apache supuestamente usa una búsqueda DNS inversa en la dirección IP para falsificar el nombre de un servidor, y suponiendo que el DNS inverso conduzca a domain.com, que no coincide, Apache se configura de manera predeterminada el primer host virtual. Suena complicado, lo sé ... la conclusión es que debes usar ServerName y ServerAlias para hacer que la configuración sea explícita. Pruebe algo más como esto:

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>

Eso debería usar /var/www/domain.com para http://domain.com y /var/www/www.domain.com para http://www.domain.com , ambos servidos por el primer vhost y /var/www/sub.domain.com para http://sub.domain.com , /var/www/blah.domain.com para http://blah.domain.com , y así sucesivamente.

Usando Apache2 en un sistema Linux, ¿hay alguna forma de tener múltiples VirtualDocumentRoot usando mod_vhost_alias ?

Esta es la convención de nombres que actualmente uso y me gustaría seguir usando:

host directory 127.0.0.1 domain domain.com 127.0.0.1 sub.domain domain.com_sub

Luego en mi sección de fantasmas del httpd.conf tengo:

NameVirtualHost 127.0.0.1 <VirtualHost 127.0.0.1> VirtualDocumentRoot /var/www/%0.0.com </VirtualHost> <VirtualHost 127.0.0.1> VirtualDocumentRoot /var/www/%2.0.com_%1 </VirtualHost>

El problema con esto es cuando visito sub.domain el registro de errores de Apache muestra que está buscando /var/www/sub.domain.com en lugar de /var/www/domain.com_test, lo que me lleva a creer que solo lee el primera regla y luego falla, pero lo que me gustaría hacer es usar cualquier raíz de documento que satisfaga cualquiera de las dos reglas de VirtualDocumentRoot.


En cuanto a OP y el problema con "/ var / www / html" se establece:

El problema que tuve con esto fue usar% 1 en vez de% 2. Aquí está mi ejemplo de trabajo:

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

Espero que ayude a alguien!

Leí los documentos sobre "Interpolación del nombre del directorio" en documentos mod_vhost_alias .


Lo que estoy notando con esta configuración es que $ _SERVER [''DOCUMENT_ROOT''] apunta a / var / www / html y no a la raíz del documento del vhost. extraño.

Actualización (2010-07-24):

Acabo de escribir una publicación en el blog sobre cómo configurar su http proof server http://www.devcha.com/2010/07/how-to-setup-your-http-proof-server.html


Debes calificar las referencias cuando quieras poner un ''.'' en la ruta del archivo Entonces debes tenerlo así:

VirtualDocumentRoot /var/www/%2.0.%3_%1


Finalmente encontré una configuración que permite la creación flexible de subdominios.

Ver los documentos de apache en mod_vhost_alias

Si su dominio de desarrollo raíz tiene 3 partes como dev.example.com, puede usar %-4+ como marcador de posición para todo antes del dominio raíz. Si tiene 4 partes, use %-5+ .

<VirtualHost *:80> VirtualDocumentRoot "/var/www/%-4+/webroot" ServerName www.dev.example.com ServerAlias *.dev.example.com php_admin_value auto_prepend_file /var/www/setdocroot.php </VirtualHost>

De esta forma, puede crear un directorio llamado /var/www/sub.domain/webroot y acceder a él con la url sub.domain.dev.example.com .

La línea php_admin_value auto_prepend_file /var/www/setdocroot.php corrige el docroot en algunos sistemas como OSX 10.9+

Aquí está el contenido de setdocroot.php :

<?php $_SERVER[''DOCUMENT_ROOT''] = str_replace($_SERVER[''SCRIPT_NAME''], '''', $_SERVER[''SCRIPT_FILENAME'']); ?>