使用 netlify 将 html 个没有扩展名的页面(又名 'pretty urls')呈现为 html
Having html pages without an extension (aka 'pretty urls') render as html using netlify
我正在尝试使用 netlify 托管静态站点。我正在使用 wget -mk http://hostname/
构建网站,所以我得到了大量静态文件,链接已重写。
我想推动他们进行 netlify 并让其托管该站点。
以 .html 结尾的页面被视为 html 文件并正确显示。
具有 'pretty urls' 和 /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
这会将所有内容都视为 text/html。我可以删除最后一行,但是漂亮的文件会再次被视为文本。
是迭代所有文件并使用完整路径将它们标记为 html 的唯一解决方案,这将使 _headers
文件看起来像这样:
/about
Content-Type: text/html
/contact
Content-Type: text/html
...
我查看了 netlify 文档并进行了谷歌搜索,但没有找到任何有用的信息。
而不是尝试将没有扩展名的页面视为 html。使用 --adjust-extension
选项。
If a file of type ‘application/xhtml+xml’ or ‘text/html’ is downloaded and the URL does not end with the regexp ‘.[Hh][Tt][Mm][Ll]?’, this option will cause the suffix ‘.html’ to be appended to the local filename.
为了解决这个问题,我最终编写了一个 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。
我正在尝试使用 netlify 托管静态站点。我正在使用 wget -mk http://hostname/
构建网站,所以我得到了大量静态文件,链接已重写。
我想推动他们进行 netlify 并让其托管该站点。
以 .html 结尾的页面被视为 html 文件并正确显示。
具有 'pretty urls' 和 /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
这会将所有内容都视为 text/html。我可以删除最后一行,但是漂亮的文件会再次被视为文本。
是迭代所有文件并使用完整路径将它们标记为 html 的唯一解决方案,这将使 _headers
文件看起来像这样:
/about
Content-Type: text/html
/contact
Content-Type: text/html
...
我查看了 netlify 文档并进行了谷歌搜索,但没有找到任何有用的信息。
而不是尝试将没有扩展名的页面视为 html。使用 --adjust-extension
选项。
If a file of type ‘application/xhtml+xml’ or ‘text/html’ is downloaded and the URL does not end with the regexp ‘.[Hh][Tt][Mm][Ll]?’, this option will cause the suffix ‘.html’ to be appended to the local filename.
为了解决这个问题,我最终编写了一个 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。