su problema es que su nombre de alias y la ruta física son una y la misma, por lo que apache no sabe cuál de ellos para servir para arriba.
NOTA: Le voy a dar la respuesta basándose en la configuración general de Apache 2, y no en mod_mono, tal vez mod_mono hace algo para evitar esto, he no establece MVC aplicaciones en el marco de un cuadro de * nix antes :-)
en fin ...
si nos fijamos en las configuraciones de ruta que ha ...
/Library/WebServer/vhosts/api
/Library/WebServer/vhosts/api/gamecenter
/Library/WebServer/vhosts/api/gamecenter-stage
sin sus alias en su lugar, estos ya se resuelven en los caminos de su tratando de trazar.
/Library/WebServer/vhosts/api =/
/Library/WebServer/vhosts/api/gamecenter = /gamecenter
/Library/WebServer/vhosts/api/gamecenter-stage = /gamecenter-stage
Su continuación, indica a Apache que
/ =/
/gamecenter = /gamecenter
/gamecenter-stage = /gamecenter-stage
Cuando Apache intenta entregar el contenido si no hay subfijo archivo o barra existente (como en el último 2) será automáticamente, subfijo la carpeta con a/a continuación, enviar una redirección (306 creo) diciendo esencialmente el navegador para redirigir de EG:
/gamecenter to /gamecenter/
con el alias en lugar de decir que ese alias ... es en la ubicación x, entonces h como para tratar de hacer una desicion para servir
/gamecenter/
o
/gamecenter/gamecenter/../ (Because in terms of folder structure the alias name is 1 folder level down in the web than it is physically)
y termina por confundirse, y lo mismo ocurre con lo que la constitución de cualquier máquina virtual hace cuando es incapaz de resolver la ruta, y que es devuelve la raíz del sitio web.
AS I SAY sin embargo, este es el comportamiento general de Apache NO MONO, es posible que mod_mono modifique la canalización de procesamiento de alguna manera que puede cambiar este comportamiento.
Lo que recomendaría es dividir esto en 3 hosts virtuales que puede hacer muy fácilmente incluso en una sola IP.
Lo primero que querrá hacer es somwhere en su principal archivo de configuración de Apache, tiene declaración
Listen 9005
.Esto hará que todas las instancias virtuales escuche en ese puerto, así como cualquier otro puerto configurado Ejem: 80
A continuación asegúrese de que tiene una captura de forma predeterminada toda máquina virtual, esto va a recoger el nombre del servidor no asignada en otra parte:
<VirtualHost *>
DocumentRoot "/some/folder/where/the/default/is/"
#Followed by other server directives. NOTE: there is NO servername line
</VirtualHost>
Una vez que tenga que configurar, para luego pasar a su "api" sub dominio
<VirtualHost *>
ServerName api
DocumentRoot "/Library/WebServer/vhosts/api/"
#Other required directives here
</VirtualHost>
en este punto, voy a hacer una pausa para hablar de su nombre de dominio. Si se trata de un sistema de prueba interno (que sospecho que es), verá que la vida con dominios virtuales es mucho más fácil si instala un servidor DNS en su buzón y luego lo configura como un dominio maestro utilizando una dirección de red interna privada.
Ejem:
Crear una zona de la raíz, y lo llaman "mydevnetwork.local"
continuación, agregue los nombres de máquina a la misma:
Por ejemplo, si su PC se llama devpc1, crear una IP abordar para "devpc1.mydevnetwork.local" y darle a su PC una dirección IP estática de EG: 192.168.50.1
asentando después un alias para que así
api.myde vnetwork.local = devpc1.mydevnetwork.local
No tengo espacio suficiente para hacer una publicación de configuración de DNS completa aquí, pero espero que entiendas la idea.
Una vez que haya DNS (o en un archivo de entradas mínimas archivo host), creado, a continuación, sus anfitriones virtuales bajo Apache llegar a ser realmente fácil de manejar:
<VirtualHost *>
ServerName api.mydevnetwork.local
DocumentRoot "/Library/WebServer/vhosts/api/"
#Other required directives here
</VirtualHost>
y fácil de mudarme a otra máquina en caso de necesitar demasiado .
Puede configurar el resto de sus anfitriones virtuales en la misma forma
<VirtualHost *>
ServerName gamecenter.mydevnetwork.local
DocumentRoot "/Library/WebServer/vhosts/api/gamecenter/"
#Other required directives here
</VirtualHost>
<VirtualHost *>
ServerName gamecenter-stage.mydevnetwork.local
DocumentRoot "/Library/WebServer/vhosts/api/gamecenter-stage/"
#Other required directives here
</VirtualHost>
Nota Iv'e establecen los caminos a ser el mismo que tenías anteriormente, ya pesar de que esto va a funcionar, me 'd recomendamos que dar a cada uno su propia carpeta única, por lo general hacer algo como:
wwwroot
api.mydevnetwork.local
htdocs <-- Web files go here
cgi-bin <-- cgi scripts go here and it's mapped to /cgi-bin/
logs <-- logs here
access <-- htpasswd files here
Esperemos que si lo anterior no es una solución completa, es posible que al menos obtener algunas ideas adicionales de investigación de la misma.
Hola, ¿ya has resuelto este problema? Tengo el mismo problema. – branoholy
nada todavía. he intentado todas las configuraciones que pude encontrar y ninguna de ellas parece resolver esto. aún así mira. – chris
si va a votar y editar mi pregunta, asegúrese de saber de antemano cuál es la pregunta. – chris