为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 如何删除静态服务的最后一个斜杠

Golang 如何删除静态服务的最后一个斜杠

Go
慕森王 2023-07-31 16:17:44
我想删除路径中最后一个尾部斜杠,例如:localhost:8080/Login/ --> localhost:8080/Login。在代码中,我使用/login而不是/login/但css和js不起作用,请帮忙!这是我的代码:转到文件:func main() {    fileServer := http.FileServer(http.Dir("pages"))    //http.Handle("/Login/", http.StripPrefix("/Login/", fileServer))    http.Handle("/Login", http.StripPrefix("/Login", fileServer))    http.ListenAndServe(":8080", nil)}HTTP 文件:<link href="/css/bootstrap/bootstrap-4.3.1.css" rel="stylesheet" /><script src="/js/bootstrap/bootstrap-4.3.1.js"></script>
查看完整描述

3 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

由于您使用的是 CSS 和 JS 文件的根路径,因此就 CSS 和 JS 文件的请求而言,尾部斜杠并不重要。

至于重定向到 /Login/:此行为已记录,并附有有关如何防止这种情况的说明:

如果子树已注册,并且收到命名子树根但不带尾部斜杠的请求,则 ServeMux 会将该请求重定向到子树根(添加尾部斜杠)。可以通过单独注册不带尾部斜杠的路径来覆盖此行为。

因此,如果您不希望重定向,请为 /Login 和 /Login/ 注册相同的处理程序。


查看完整回答
反对 回复 2023-07-31
?
炎炎设计

TA贡献1808条经验 获得超4个赞

您基本上将前端安装在“/Login”处。

但是你的js和css是从“/”请求的

所以它们当然不会被加载。

您必须:

  1. 将 css 和 js 引用更改为“/Login/js/....”和“/Login/css/...”

    但这似乎并不是您真正想要做的

  2. 或者,将前端安装在“/”处

    http.Handle("/", fileServer)


查看完整回答
反对 回复 2023-07-31
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

package main

import (

    "fmt"

)

func main() {

  var s string = "localhost:8080/Login/"

  fmt.Println(s)

  for _,i := range s{

    fmt.Println("hi,test data ->",string(i))

  }

  fmt.Println("This string len is ",len(s))

  fmt.Println("You want ",string(s[0:len(s)-1]))

}


查看完整回答
反对 回复 2023-07-31
  • 3 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信