Здесь фронтенд-разработчик - я только что унаследовал сервер (Mac Pro) для размещения моих прототипов в нашей сети. На нем уже настроен сервер apache, но я мало что знаю о его конфигурации. Это общий сервер, поэтому, хотя корень сервера настроен на /Users/Shared
, У меня есть разрешение только на размещение своих прототипов в
/Shared/mydiv/mydept/prototypes
Я создаю свой сайт с помощью webpack, и он помещает статические ресурсы в dist
каталог. Конфигурация сервера работает; пользователи могут просматривать sharedserver.url.com/mydiv/mydept/prototypes
и index.html обслуживается правильно.
Проблема в том, что index.html ссылается на scripts.js
, также расположен в dist
каталог, но веб-сервер ищет их в корне сервера на sharedserver.url.com, который, очевидно, возвращает 404.
Я ссылаюсь на скрипты в index.html следующим образом:
<script src="scripts.js"></script>
Точно так же мне нужно сослаться на некоторые шрифты, расположенные в 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.
Я немного читал об использовании vhosts, но модуль еще не загружен в httpd.conf (закомментирован), и я не хочу вызывать конфликт с существующей конфигурацией, о которой я еще не до конца разобрался. Я также читал о файлах .htaccess, но для AllowOverride в httpd.conf установлено значение None - я мог бы изменить его, а затем начать изучать .htaccess, но мне интересно, есть ли другой способ, поскольку я неопытен в настройке такого рода вещей.
Есть ли другие (простые) способы заставить apache искать мои статические ресурсы в моем каталоге?
У меня была такая же проблема, и в моем случае это было вызвано стоимостью base
внутри заголовка index.html:
<base href="/">
Это устанавливает базовый URL-адрес для относительных URL-адресов корня сервера. Я мог бы решить проблему, удалив / изменив base
тег.
Надеюсь, это поможет.
Я думаю, это потому, что ваш корень документа настроен так
DocumentRoot "/sharedserver.url.com"
и вы этого хотите:
DocumentRoot "/sharedserver.url.com/mydiv/mydept/prototypes/dist"
и путь к каталогу должен быть таким же, как корень документа
<Directory "/sharedserver.url.com/mydiv/mydept/prototypes/dist">
если вы сделаете это так и используете URL-адрес своего домена, вы попадете на index.html, и ваш скрипт будет отображаться правильно
Я надеюсь это решит твою проблему