2010-11-03 13 views
7

Estoy desarrollando un sitio y eso es administrado por dos. uno es yo y el otro es el diseñador que accede desde diferentes máquinas a través de LAN.accediendo a un host virtual local desde fuera de LAN como host virtual como http: // nombre de sitio en lugar de http: // nombre de sistema/nombre de sitio

Conf: php, apache, windows xp, mysql.

Raíz del documento: d: \ www \ xampp \ htdocs. todos los proyectos están debajo de esto como subcarpetas.

He configurado el host virtual para que no pueda acceder a todos los proyectos como http://localhost/foldername, pero igual que http://foldername.

Pero para el diseñador que está en el otro sistema que tiene que acceder como http://computername/foldername

Por ejemplo me dejó estar trabajando en un proyecto de nómina. tendré acceso a eso como http://payroll pero mi diseñador tendrá acceso como http://computername/payroll.

Lo que quiero hacer es desear que el diseñador acceda de la misma manera que accedo. eso es http://payroll.

para que en el sistema de diseño, cuando el nombre del servidor sea nómina, quiera que se dirija a mi máquina y luego a la carpeta del proyecto. entonces si él da http://payroll entonces la aplicación en mi sistema debería funcionar para él.

he configurado el archivo de hosts en el sistema de diseño para que apunte a mi máquina. entonces este trabajo está hecho y cuando él da la nómina mi http://localhost está apareciendo.

¿qué debo hacer para que el diseñador pueda acceder a mi proyecto como http://payroll desde su sistema?

Respuesta

7

El diseñador tiene que añadir su dirección IP con cada sitename a su hosts file ya que sin ella su navegador no sabrá dónde busca el sitio Se podría tener este aspecto:

12.34.56.78 sitename1 
12.34.56.78 sitename2 
12.34.56.78 repeat.for.each.sitename 
... 

Esto podría ser suficiente si sus VirtualHosts no están ligados a una dirección IP específica. Esto no funcionaría:

NameVirtualHost 127.0.0.1:80 

<VirtualHost 127.0.0.1:80> 
    ServerName sitename1 
    ... 
</VirtualHost> 

que debe ser:

NameVirtualHost *:80 

<VirtualHost *:80> 
    ServerName sitename1 
    ... 
</VirtualHost> 

De esta manera Apache servirá al sitio llamado sitename cada vez que ve una solicitud con el nombre de host sitename y no importará si vino desde la misma computadora o no.

+0

para mí está mostrando el acceso prohibido, pero otras computadoras pudieron acceder. –

+0

tenía mi archivo de hosts como 127.0.0.1 sitename1, que decía que el acceso estaba prohibido, mientras que para los demás usuarios funcionaba porque me han dado mi ip en su archivo de hosts. así si solo le doy mi 192.168.1.20 sitename1 entonces está funcionando. pero todos los otros fantasmas donde se muestra prohibido el acceso ... así que si mi ip cambia entonces creo que debería cambiar mi archivo de hosts y reemplazar la ip con la nueva ip y lo mismo para los demás. no hay otra forma? –

+0

funciona cuando reemplazo todos los 127.0.0.1 con mi ip para todas las instancias en el archivo conf. y necesito hacer algunos cambios más para que funcione lo que esperaba. de todas formas. gracias. –

1

Se puede poner en sus \ windows \ system32 \ drivers \ archivo etc \ hosts:


1.2.3.4 payroll 

Dónde 1.2.3.4 debe sustituirse por el número IP del sistema.

sites-enabled \ archivo 000-default

El Apache deben comenzar con:


<VirtualHost *:80> 
     # from http://www.iliveinperego.com/2008/05/automatic-vhost-with-apache/ 
     RewriteEngine on 
     RewriteCond %{HTTP_HOST} ^(.+)$ 
     RewriteRule ^(.+)$ /%1$1 
    ... 
</VirtualHost> 
+0

sí funciona pero mi sitio está en una subcarpeta de la carpeta raíz y quiero que se ejecute ese proyecto de subcarpeta y no la carpeta raíz –

+0

lo siento, no entendí que dijera que había arreglado la configuración de Apache para eso. Actualizaré la respuesta en breve. –

+0

¿Las reescrituras no funcionaron para usted? esa es la forma en que configuro mi sistema, entonces sé que puede funcionar. –

Cuestiones relacionadas