How to serve static folders using Chi Router
php editor Apple introduces you how to use Chi router to provide static folder services. Chi is a lightweight Go language web framework that provides simple and efficient routing functions. Through Chi, we can easily build a static folder service and display static files directly in the browser. This article will introduce in detail how to configure Chi router and provide static folder services to make your website more efficient and convenient. Let’s find out together!
Question content
I want to provide a folder with the following form:
my-project/ - public/ <- The folder that I want to serve and also all the subfolders and files - css/ - styles.css - js/ - script.js - main.go
I want to use the URL's http://localhost/api/static/css/styles.css
and http://localhost/api/static/js/script.js
to access it
So I tried to do the next step:
<code>package main import ( "log" "net/http" "github.com/go-chi/chi/v5" ) func main() { r := chi.NewRouter() r.Handle("/api/static/*", http.StripPrefix("/public/", http.FileServer(http.Dir("./public")))) if err := http.ListenAndServe(":80", r); err != nil { log.Fatal(err) } } </code>
This doesn't work when I try to access http://localhost/api/static/css/styles.css
or http://localhost/api/static/js/script It gives me a HTTP 404 error code.js
Workaround
You have to strip /api/static
from the path, so for example , if the request comes from /api/static/css/styles.css
, stripping it will leave css/styles.css
, which will be in ./public
Search below and get ./public/css/styles.css
.
The above is the detailed content of How to serve static folders using Chi Router. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



The library used for floating-point number operation in Go language introduces how to ensure the accuracy is...

Queue threading problem in Go crawler Colly explores the problem of using the Colly crawler library in Go language, developers often encounter problems with threads and request queues. �...

Two ways to define structures in Go language: the difference between var and type keywords. When defining structures, Go language often sees two different ways of writing: First...

Which libraries in Go are developed by large companies or well-known open source projects? When programming in Go, developers often encounter some common needs, ...

The difference between string printing in Go language: The difference in the effect of using Println and string() functions is in Go...

The problem of using RedisStream to implement message queues in Go language is using Go language and Redis...

What should I do if the custom structure labels in GoLand are not displayed? When using GoLand for Go language development, many developers will encounter custom structure tags...

Go pointer syntax and addressing problems in the use of viper library When programming in Go language, it is crucial to understand the syntax and usage of pointers, especially in...
