Ayuda Apache!

Hola experto,
tengo un servidor en linux redhat 9 con apache 2.0
Mi pregunta va relacionada con la ejecución del código php en mi sitio web. Lo que quiero controlar que en algunos lugares se ejecute y en otros no.
Antes tenia el apache 1.3 y lo realizaba añadiendo una linea en los virtualhost de cada dominio pero ahora no funciona con esta versión.
<VirtualHost mi.dominio.com>
ServerAdmin [email protected]
DocumentRoot /usr/local/apache/html/mi.dominio.com
ServerName mi.dominio.com
ErrorLog logs/mi.dominio.com-error_log
TransferLog logs/mi.dominio.com-access_log
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php .php
</VirtualHost>
La configuración se por defecto cambiando poca cosa.
Gracias por todo.

1 Respuesta

Respuesta
Perdona por haber tardado tanto en responder.
He estado realizando pruebas y configurando varios hosts virtuales. El sistema que he utilizado ha sido windows con Apache 2.0 y php 4.3.
Tras añadir las direcciones ip de los hosts virtuales en el archivo hosts, he configurado httpd.conf. Tenía las siguientes líneas en la sección 1 del archivo:
Listen 80
LoadModule php4_module "c:/Servidor/php/php4apache2.dll"
PHPIniDir "C:/Servidor/php"
Sólo he tenido que modificar la sección 3 del archivo. He añadido una línea NameVirtualHost por cada host virtual. En tu caso tendrías que poner:
NameVirtualHost mi.dominioConPHP.com
NameVirtualHost mi.dominioSinPHP.com
Teniendo mi.dominioConPHP.com y mi. DominioSinPHP.com en el archivo hosts para poder obtener su dirección ip.
Dentro de <VirturalHost> tienes que poner:
AddType application/x-httpd-php .php
Con eso debería funcionar.
Un ejemplo podría ser:
NameVirtualHost actualidad:80
NameVirtualHost noticias:80
NameVirtualHost deportes:80
<VirtualHost actualidad:80>
DocumentRoot "C:/Servidor/Docs/Actualidad"
ServerName actualidad
AddType application/x-httpd-php .php
</VirtualHost>
<VirtualHost noticias:80>
DocumentRoot "C:/Servidor/Docs/Noticias"
ServerName noticias
</VirtualHost>
<VirtualHost deportes:80>
DocumentRoot "C:/Servidor/Docs/Deportes"
ServerName deportes
AddType application/x-httpd-php .php
DirectoryIndex index.php
</VirtualHost>
En este ejemplo tengo tres hosts virtuales. El host de actualidad y el de deportes permiten la ejecución de código php, pero el de noticias no. Además el de deportes carga las páginas index.php al abrir el directorio en el navegador, por ejemplo poniendo: http://deportes/
En tu caso, comprueba el archivo hosts, que lo tendrás en /etc/hosts, y comprueba la directiva Listen del archivo httpd.conf de Apache, donde debes poner las direcciones ip y puertos necesarios, o solo el/los puerto/s.
Supongo que no es problema de la versión de Apache porque en windows funciona, debe ser algún otro problema. La configuración no tiene más: traducción de host a ip mediante hosts, y directiva Listen.
Puedes probar a eliminar todo el contenido temporal del navegador. Muchas veces al realizar pruebas se queda guardado en cache la página anterior y el navegador en vez de realizar una petición al servidor apache, usa la cache. De esta forma aunque hayas modificado algo en el servidor, no se verán cambios.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas