我正在尝试使用netlify托管静态站点。我正在使用wget -mk http://hostname/
构建网站,因此我获得了大量的静态文件,并且重写了链接。
我想推动他们进行网络化并托管该站点。
以.html结尾的页面被视为html文件,并正确显示。
将带有/about
这样的“漂亮url”的页面视为文本文件,并显示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
这会将所有内容都视为text / html。我可以删除最后一行,但随后将漂亮的文件再次视为文本。
是唯一的迭代所有文件并使用完整路径将其标记为html的解决方案,这将使_headers
文件看起来像这样:
/about
Content-Type: text/html
/contact
Content-Type: text/html
...
我查看了netlify文档并用谷歌搜索,找不到任何有用的东西。
答案 0 :(得分:2)
为解决该问题,我最终编写了一个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。
答案 1 :(得分:0)
而不是尝试将不带扩展名的页面视为html。使用--adjust-extension
选项。
如果下载了'application / xhtml + xml'或'text / html'类型的文件,并且URL并非以正则表达式'。[[Hh] [Tt] [Mm] [Ll]?选项将导致后缀'.html'附加到本地文件名。