diff options
| author | thinkpadmaster <a.scerba02@gmail.com> | 2023-07-21 21:54:23 -0500 | 
|---|---|---|
| committer | Alex Scerba <alex@scerba.org> | 2024-10-29 13:19:57 -0400 | 
| commit | fa4169e37b6d913cb3fd3e79ae1f00459399eccb (patch) | |
| tree | 6112de31f14433078ec41162faa2f6fda45e00f7 | |
| parent | 71c13f58320cb52786e72ee240de69a1ffd70b07 (diff) | |
Redirect URLs ending it / to the URL without a trailing /
| -rw-r--r-- | handle.go | 9 | ||||
| -rw-r--r-- | main.go | 3 | 
2 files changed, 11 insertions, 1 deletions
@@ -26,6 +26,10 @@ func (app *application) home(w http.ResponseWriter, r *http.Request) {  }  func (app *application) about(w http.ResponseWriter, r *http.Request) { +	if r.URL.Path == "/about/" { +		http.Redirect(w, r, "/about", http.StatusFound) +		return +	}  	err := renderTemplate(w, "main/about", nil)  	if err != nil {  		app.serverError(w, err) @@ -44,8 +48,11 @@ func (app *application) aggregate(w http.ResponseWriter, r *http.Request) {  func (app *application) post(w http.ResponseWriter, r *http.Request) {  	path := strings.Split(r.URL.Path, "/") -	if path[2] == "" { +	if r.URL.Path == "/blog" || r.URL.Path == "/projects" {  		app.aggregate(w, r) +	} else if path[2] == "" { +		http.Redirect(w, r, strings.TrimSuffix(r.URL.Path, "/"), http.StatusFound) +		return  	} else {  		post, err := app.readFile("html" + strings.TrimSuffix(r.URL.Path, "/") + ".tmpl.html")  		if err != nil { @@ -37,8 +37,11 @@ func main() {  	fs := http.FileServer(http.Dir("./static"))  	mux.Handle("/static/", http.StripPrefix("/static/", fs)) +	mux.HandleFunc("/projects", app.post)  	mux.HandleFunc("/projects/", app.post) +	mux.HandleFunc("/blog", app.post)  	mux.HandleFunc("/blog/", app.post) +	mux.HandleFunc("/about", app.about)  	mux.HandleFunc("/about/", app.about)  	mux.HandleFunc("/", app.home)  | 
