
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 dist
directorio. La configuración del servidor está funcionando; los usuarios pueden navegar sharedserver.url.com/mydiv/mydept/prototypes
y el index.html se entrega correctamente.
El problema es que index.html hace referencia a scripts.js
, también ubicado dentro del dist
directorio, 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 base
etiqueta 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 base
etiqueta.
Espero que esto ayude.