我要这样做,以便当有人访问我的Go
HTTP服务器上的页面时,他们不会看到该.html
扩展名。例如,当他们访问时,https://example.org/test
他们会看到的内容https://example.org/test.html
。
我的代码:
package main
import (
"net/http"
)
func main() {
fs := http.FileServer(http.Dir("public/"))
http.Handle("/", http.StripPrefix("/", fs))
http.ListenAndServe(":8000", nil)
}
一种选择是实现http.FileSystem使用http.Dir。这种方法的优点是它利用了http.FileServer中精心编写的代码。
它看起来像这样:
type HTMLDir struct {
d http.Dir
}
func main() {
fs := http.FileServer(HTMLDir{http.Dir("public/")})
http.Handle("/", http.StripPrefix("/", fs))
http.ListenAndServe(":8000", nil)
}
Open方法的实现取决于应用程序需求。
如果您始终想使用.html扩展名,请使用以下代码:
func (d HTMLDir) Open(name string) (http.File, error) {
return d.d.Open(name + ".html")
}
如果要回退到.html扩展名,请使用以下代码:
func (d HTMLDir) Open(name string) (http.File, error) {
// Try name as supplied
f, err := d.d.Open(name)
if os.IsNotExist(err) {
// Not found, try with .html
if f, err := d.d.Open(name + ".html"); err == nil {
return f, nil
}
}
return f, err
}
翻转前一个以.html扩展名开头,然后回退到提供的名称:
func (d HTMLDir) Open(name string) (http.File, error) {
// Try name with added extension
f, err := d.d.Open(name + ".html")
if os.IsNotExist(err) {
// Not found, try again with name as supplied.
if f, err := d.d.Open(name); err == nil {
return f, nil
}
}
return f, err
}
问题内容: (不包括任何外部库。) 在不假定任何文件名的情况下,删除Java中文件名扩展名的最有效方法是什么? 一些例子和预期结果: 文件夹>文件夹 hello.txt>你好 read.me>阅读 hello.bkp.txt> hello.bkp 怪异..名称>怪异。 .hidden> .hidden (或者应该只 隐藏 最后一个?) 编辑 :原始问题假定输入是文件名(而不是文件路径)。由于一些答
问题内容: 给定一个文件名,例如: 我想删除扩展名(如果存在)。我怎样用Java做这个?谢谢! 问题答案: 就像是 索引检查可避免将“ ” 等隐藏文件转换为“”,并避免使用诸如的名称。
问题内容: 我有许多扩展名为.txt的文件。如何删除Linux中多个文件的.txt扩展名? 我找到 替代扩展 我也想对子文件夹中的文件执行此操作。 问题答案: 有点危险,因为根据其手册页: 重命名将通过替换第 一次 出现的… 来重命名指定的文件。 像这样的文件名会很乐意做错事。 这是使用和的解决方案: 请记住,如果文件名包含换行符(罕见,但并非不可能),这将中断。 如果您有GNU查找,这是一个更可
我一直在尝试让nginx在没有. php或. html扩展的情况下工作,我需要一点帮助。提前感谢您的时间! 我尝试了在如何使用NGINX从url中删除. php和. html扩展中找到的解决方案?但是没有效果 这是我当前的nginx配置。这是几个教程的组合,但它是有效的。
本文向大家介绍使用 Iisext.vbs 删除 Web 服务扩展文件的方法,包括了使用 Iisext.vbs 删除 Web 服务扩展文件的方法的使用技巧和注意事项,需要的朋友参考一下 应用到: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1 可使用命令行脚本 iisext.vbs(存储在 syste
问题内容: 在托管的IIS7环境中,我正在寻找使用无扩展名文件名的最简单方法。简单来说,我有以下页面: index.html(或.aspx)-> domain.com gallery.html-> domain.com/gallery videos.html-> domain.com/videos等… 我只有很少的页面,没有动态代码,没什么特别的。我发现的所有示例或在开发的其他站点中使用的方法都围