간단한 HTTP 서버에서 파일 확장자를 숨기는 방법
많은 웹 서버가 URL에 파일 확장자를 표시하는데, 이는 미적 측면에서 바람직하지 않습니다. 또는 사용자 경험상의 이유. 이 가이드는 Go HTTP 서버의 URL에서 .html 확장자를 숨기는 방법을 보여줍니다.
솔루션
http.Dir을 사용하여 http.FileSystem을 구현하면 다음과 같은 여러 가지 이점을 얻을 수 있습니다. http.FileServer 내의 강력한 코드를 활용합니다. 이 기능을 구현하기 위해 사용자 정의 HTMLDir 구조체를 생성할 수 있습니다.
구현
Open의 구현은 원하는 동작에 따라 다릅니다. 아래에는 세 가지 시나리오가 나와 있습니다.
옵션 1: 항상 .html 추가
<code class="go">func (d HTMLDir) Open(name string) (http.File, error) { return d.d.Open(name + ".html") }</code>
옵션 2: .html로 대체
<code class="go">func (d HTMLDir) Open(name string) (http.File, error) { f, err := d.d.Open(name) if os.IsNotExist(err) { if f, err := d.d.Open(name + ".html"); err == nil { return f, nil } } return f, err }</code>
옵션 3: .html 및 Fallback으로 시작
<code class="go">func (d HTMLDir) Open(name string) (http.File, error) { f, err := d.d.Open(name + ".html") if os.IsNotExist(err) { if f, err := d.d.Open(name); err == nil { return f, nil } } return f, err }</code>
http.StripPrefix와 함께 HTMLDir을 사용하면 다음에서 파일을 제공할 때 .html 확장자를 효과적으로 숨길 수 있습니다. 지정된 디렉토리. 이 기술은 의도한 콘텐츠에 대한 액세스를 허용하면서 보다 원활하고 미학적으로 만족스러운 사용자 경험을 제공합니다.
위 내용은 Go HTTP 서버의 URL에서 HTML 파일 확장자를 숨기는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!