
프론트엔드 개발자입니다. 저는 네트워크 내에서 프로토타입을 호스팅하기 위해 서버(Mac Pro)를 물려받았습니다. 이미 Apache 서버가 설정되어 있지만 구성에 대해 잘 모릅니다. 이것은 공유 서버이므로 서버 루트가 에 설정되어 있는 동안에는 /Users/Shared
프로토타입을 에 배치할 수 있는 권한만 있습니다.
/Shared/mydiv/mydept/prototypes
webpack을 사용하여 사이트를 구축하고 정적 자산을 디렉토리에 배치합니다 dist
. 서버 구성이 작동 중입니다. 사용자는 sharedserver.url.com/mydiv/mydept/prototypes
index.html을 찾아볼 수 있으며 올바르게 제공됩니다.
문제는 index.html이 디렉토리 scripts.js
내에 있는 을 참조 dist
하지만 웹 서버는 분명히 404를 반환하는 sharedserver.url.com의 서버 루트에서 해당 참조를 찾고 있다는 것입니다.
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.
가상 호스트 사용에 대해 조금 읽었지만 모듈이 아직 httpd.conf에 로드되지 않았으며(주석 처리됨) 아직 완전히 파악하지 못한 기존 구성과 충돌을 일으키고 싶지 않습니다. .htaccess 파일에 대해서도 읽었지만 httpd.conf에서 AllowOverride가 None으로 설정되어 있습니다. 이를 변경한 다음 .htaccess에 대해 배우기 시작할 수 있지만 이런 종류의 설정에 경험이 없기 때문에 다른 방법이 있는지 궁금합니다.
아파치가 내 디렉토리에서 내 정적 자산을 찾도록 하는 다른 (쉬운) 방법이 있습니까?
답변1
문서 루트가 다음과 같이 설정되어 있기 때문인 것 같습니다.
DocumentRoot "/sharedserver.url.com"
그리고 당신은 이것을 다음과 같이 원합니다 :
DocumentRoot "/sharedserver.url.com/mydiv/mydept/prototypes/dist"
디렉토리 경로는 문서 루트와 동일해야 합니다.
<Directory "/sharedserver.url.com/mydiv/mydept/prototypes/dist">
이렇게 하고 도메인 URL을 사용하면 index.html로 이동하고 스크립트가 올바르게 표시됩니다.
이것이 당신의 문제를 해결해주기를 바랍니다
답변2
base
저도 같은 문제가 있었는데 제 경우에는 index.html의 헤드 섹션 내부에 있는 태그 값으로 인해 문제가 발생했습니다 .
<base href="/">
서버 루트에 대한 상대 URL의 기본 URL을 설정합니다. 태그 를 제거/변경하여 문제를 해결할 수 있습니다 base
.
이게 도움이 되길 바란다.