首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有命名参数的Martini路由无法加载静态文件。

带有命名参数的Martini路由无法加载静态文件。
EN

Stack Overflow用户
提问于 2015-10-25 15:21:01
回答 1查看 118关注 0票数 2

我和马蒂尼一起写了我的第一份Go申请。我有带有命名参数的路由:

代码语言:javascript
复制
m := martini.Classic()

staticOptions := martini.StaticOptions{Prefix: "assets"}
m.Use(martini.Static("assets", staticOptions))

m.Get("/edit/:id", editHandler)
m.Run()

editHandler使用引导样式表和脚本呈现编辑模板,它们相应地位于assets/cssassets/js文件夹中。

代码语言:javascript
复制
<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.cssedit/assets/js/bootstrap.min.js发出请求。如何去掉任何路由前缀?(“编辑”、“显示”和其他)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-25 15:49:15

所提供的html片段中的链接是相对链接。这意味着当浏览器解析URL时,它会将给定的路径附加到当前主机和路径(即http://<hostname_and_port>/edit + assets/css/bootstrap.min.css )中。

您可以使用根路径而不是相对路径来确保浏览器解析URL时,它会将给定路径附加到主机的根目录,而不管完整URL路径是什么。这是通过在路径的开始处放置一个正斜杠来完成的。在下面的示例中,我向srchref属性路径添加了一个正斜杠。

代码语言:javascript
复制
<link rel="stylesheet" type="text/css" href="/assets/css/bootstrap.min.css">
<script type="text/javascript" src="/assets/js/bootstrap.min.js"></script>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33331350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档