문제: 404 Go에서 CSS를 렌더링하는 동안 페이지를 찾을 수 없음
Go 웹 애플리케이션에서 CSS 파일을 사용하려고 하면 사용자에게 다음과 같은 문제가 발생할 수 있습니다. CSS 파일을 찾을 수 없음을 나타내는 404 오류입니다. 제공된 설명서의 지침을 따랐음에도 불구하고 이 문제가 발생합니다.
관련 디렉터리 구조 및 코드:
관련 디렉터리 구조는 다음과 같습니다.
src/ |__ css/somefilename.css |__ server/server.go
server.go의 코드에는 다음이 포함됩니다.
http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("css"))))
HTML 템플릿 src/templates/layout.html, CSS 파일은 다음과 같이 참조됩니다.
<link rel="stylesheet" type="text/css" href="../css/css490.css" />
문제 소스 및 해결 방법:
제공된 경로 때문에 오류가 발생합니다. FileServer 디렉터리에 대한 경로는 절대 경로가 아닙니다. Go의 상대 경로는 애플리케이션이 실행되는 작업 디렉터리로 확인됩니다.
이 문제를 해결하려면 사용자는 일반적으로 다음과 같은 경우 명령줄 인수에 지정되는 올바른 작업 디렉터리에서 애플리케이션이 실행되는지 확인할 수 있습니다. 프로그램을 실행 중입니다. 또는 FileServer 함수에 CSS 디렉터리의 절대 경로를 명시적으로 제공할 수 있습니다.
예를 들어 작업 디렉터리가 src인 경우 go run server/server.go를 실행하면 경로가 올바르게 확인되고 CSS 파일은 localhost:8080/css/에서 액세스할 수 있습니다. 그러나 src/server 폴더에서 go run server.go를 실행하면 404 오류가 발생합니다.后者에서 이 문제를 해결하려면 사용자는 절대 경로를 사용하도록 코드를 수정할 수 있습니다.
http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("/src/css"))))
CSS 디렉토리의 전체 경로를 지정하면 프로그램이 작업 디렉토리에 관계없이 CSS 파일을 찾을 수 있습니다. 실행됩니다.
위 내용은 My Go 웹 애플리케이션에서 CSS 파일을 제공할 때 왜 404 오류가 발생합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!