我和马蒂尼一起写了我的第一份Go申请。我有带有命名参数的路由:
m := martini.Classic()
staticOptions := martini.StaticOptions{Prefix: "assets"}
m.Use(martini.Static("assets", staticOptions))
m.Get("/edit/:id", editHandler)
m.Run()editHandler使用引导样式表和脚本呈现编辑模板,它们相应地位于assets/css和assets/js文件夹中。
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap.min.css">
<script type="text/javascript" src="assets/js/bootstrap.min.js"></script>但是当我在浏览器中打开编辑页面时,我的静态文件不会加载,因为浏览器向edit/assets/css/bootstrap.min.css和edit/assets/js/bootstrap.min.js发出请求。如何去掉任何路由前缀?(“编辑”、“显示”和其他)
发布于 2015-10-25 15:49:15
所提供的html片段中的链接是相对链接。这意味着当浏览器解析URL时,它会将给定的路径附加到当前主机和路径(即http://<hostname_and_port>/edit + assets/css/bootstrap.min.css )中。
您可以使用根路径而不是相对路径来确保浏览器解析URL时,它会将给定路径附加到主机的根目录,而不管完整URL路径是什么。这是通过在路径的开始处放置一个正斜杠来完成的。在下面的示例中,我向src和href属性路径添加了一个正斜杠。
<link rel="stylesheet" type="text/css" href="/assets/css/bootstrap.min.css">
<script type="text/javascript" src="/assets/js/bootstrap.min.js"></script>https://stackoverflow.com/questions/33331350
复制相似问题