6

我正在尝试使用 netlify 来托管一个静态站点。我正在使用构建站点,wget -mk http://hostname/因此我获得了大量静态文件,并重写了链接。

我想推动他们进行 netlify 并让该站点托管该站点。

以 .html 结尾的页面被视为 html 文件并正确显示。

具有类似“漂亮 url”的页面/about被视为文本文件,并显示 HTML 标记。

除非我添加重写,否则我无法真正重命名所有这些文件,因为有指向我想要保留的站点的外部链接。

我尝试设置一个_headers文件,但不清楚操作顺序是什么。这是一个示例_headers文件:

/*.css
  Content-Type: text/css
/*.js
  Content-Type: text/javascript
/*.jpg
  Content-Type: image/jpg
/*.jpeg
  Content-Type: image/jpg
/*.png
  Content-Type: image/png
/*.gif
  Content-Type: image/gif
/*
  Content-Type: text/html

这将所有内容都视为文本/html。我可以删除最后一行,但漂亮的文件再次被视为文本。

是迭代所有文件并使用完整路径将它们标记为 html 的唯一解决方案,这将使_headers文件看起来像这样:

/about
  Content-Type: text/html
/contact
  Content-Type: text/html
...

我查看了 netlify 文档并用谷歌搜索,但找不到任何有用的东西。

4

2 回答 2

4

为了解决这个问题,我最终编写了一个 shell 脚本来生成_headers文件。

它看起来像这样:

find `pwd` -type f |grep  -v \\. |sed "s#`pwd`/##" > list
for i in `cat list`; do 
  echo "/$i" >> _headers; 
  echo "  Content-Type: text/html" >> _headers; 
done
rm list

我只是签入_headers文件,所有漂亮 url 的文件都被视为 html。

于 2018-10-12T02:14:47.637 回答
0

而不是试图将没有扩展名的页面视为 html。使用该--adjust-extension选项。

如果下载了 'application/xhtml+xml' 或 'text/html' 类型的文件并且 URL 不以正则表达式 '.[Hh][Tt][Mm][Ll]?' 结尾,则此选项将导致要附加到本地文件名的后缀“.html”。

请参阅Wget 手册的选项部分

于 2018-10-11T20:13:34.003 回答