[Php] Hacer que XAMPP / Apache sirva archivo fuera de htdocs


Answers

Puede reubicarlo editando la configuración de DocumentRoot en XAMPP \ apache \ conf \ httpd.conf.

En este momento debería ser:

C: / xampp / htdocs

Cambiarlo a:

C: / projects / transitCalculator / trunk

Question

¿Es posible configurar xampp para que sirva un archivo fuera del directorio htdocs ?

Por ejemplo, supongamos que tengo un archivo ubicado de la siguiente manera:

C:\projects\transitCalculator\trunk\TransitCalculator.php

y mis archivos xampp normalmente se sirven desde:

C:\xampp\htdocs\

(porque esa es la configuración predeterminada) ¿Hay alguna manera de hacer que Apache reconozca y TransitCalculator.php mi archivo TransitCalculator.php sin moverlo bajo htdocs ? Preferiblemente me gustaría que Apache sirva / tenga acceso a todo el contenido del directorio de proyectos, y no quiero mover el directorio de proyectos en htdocs .

edit: editado para agregar Apache al título de la pregunta para hacer que Q / A sea más "buscable"




Ninguna de estas soluciones funcionó fácilmente. Aquí está la solución más simple para permitir que Apache 2 aloje sitios web fuera de htdocs:

Debajo de la directiva "DocumentRoot" en httpd.conf, debería ver un bloque de directorio. Reemplace este bloque de directorio con:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Allow from all
</Directory> 

RECUERDE NO USAR ESTA CONFIGURACIÓN EN UN ENTORNO REAL




Puede configurar Apache para que sirva páginas desde cualquier lugar con cualquier restricción, pero normalmente se distribuye de forma más segura.

Editar sus archivos de Apache (http.conf es uno de los nombres más comunes) le permitirá configurar cualquier carpeta para que aparezca en su webroot.

EDITAR:

alias myapp c: \ myapp \

He editado mi respuesta para incluir el formato para crear un alias en el archivo http.conf que es como un acceso directo en Windows o un enlace simbólico bajo un * x donde Apache 'simula' que una carpeta está en la raíz web. Probablemente te sea más útil a largo plazo.