¿Cómo configuro Apache2 para servir activos estáticos desde el subdirectorio raíz del servidor?

¿Cómo configuro Apache2 para servir activos estáticos desde el subdirectorio raíz del servidor?

Aquí un desarrollador front-end: acabo de heredar un servidor (Mac Pro) para alojar mis prototipos dentro de nuestra red. Ya hay un servidor Apache configurado, pero no sé mucho sobre su configuración. Este es un servidor compartido, por lo que mientras la raíz del servidor está configurada en /Users/Shared, solo tengo permisos para colocar mis prototipos en

/Shared/mydiv/mydept/prototypes

Construyo mi sitio con webpack y coloca activos estáticos en un distdirectorio. La configuración del servidor está funcionando; los usuarios pueden navegar sharedserver.url.com/mydiv/mydept/prototypesy el index.html se entrega correctamente.

El problema es que index.html hace referencia a scripts.js, también ubicado dentro del distdirectorio, pero el servidor web las busca en la raíz del servidor en shareserver.url.com, lo que obviamente devuelve un 404.

Estoy haciendo referencia a scripts en index.html como este:

<script src="scripts.js"></script>

Asimismo, necesito hacer referencia a algunas fuentes ubicadas en dist/fonts.

sharedserver.url.com/   <-- APACHE TRYING TO ACCESS STATIC ASSETS HERE
|_mydiv/
   |_ mydept/
      |_ prototypes/
         |_ _ dist/
                |_ index.html
                |_ scripts.js  <-- REALLY WISH APACHE LOOK FOR STATIC ASSETS HERE 
                | _ _fonts/
                       |_.eof,.ttf,etc.

He leído un poco sobre el uso de vhosts, pero el módulo aún no está cargado en httpd.conf (comentado) y no quiero causar un conflicto con la configuración existente, que todavía no entiendo del todo. También leí sobre archivos .htaccess, pero AllowOverride está configurado en Ninguno en httpd.conf. Podría cambiarlo y luego comenzar a aprender sobre .htaccess, pero me pregunto si hay otra manera, ya que no tengo experiencia en configurar este tipo de cosas.

¿Existen otras formas (fáciles) de hacer que Apache busque mis activos estáticos en mi directorio?

Respuesta1

Creo que esto se debe a que la raíz de su documento está configurada así

DocumentRoot "/sharedserver.url.com"

y lo quieres así:

DocumentRoot "/sharedserver.url.com/mydiv/mydept/prototypes/dist"

y la ruta del directorio debe ser la misma que la raíz del documento

<Directory "/sharedserver.url.com/mydiv/mydept/prototypes/dist">

Si lo hace así y utiliza la URL de su dominio, será llevado a index.html y su secuencia de comandos se mostrará correctamente.

Espero que esto solucione tu problema.

Respuesta2

Tuve el mismo problema y en mi caso fue causado por el valor de la baseetiqueta dentro de la sección principal de index.html:

<base href="/">

Esto establece la URL base para las URL relativas a la raíz del servidor. Podría resolver el problema eliminando/alterando la baseetiqueta.

Espero que esto ayude.

información relacionada