在 GitHub Pages 上有一个带有自定义域的静态网站,我正在寻找 URL 结构帮助。我希望我的 URL 消除 .html 扩展名。例如,我希望 example.com/example.html 作为 example.com/example 访问。
这是我的设置和限制的解释:
1.自定义域名:我使用自己的域名而不是默认的 .github.io,我认为这不会影响 URL 结构。
2.不支持 .htaccess:GitHub Pages 不支持 .htaccess 文件,当我尝试使用它时遇到错误。
3.没有 Jekyll:我在没有 Jekyll 的情况下开发了该网站,并且由于代码更改问题和对 SEO 的影响,我不想更改为 Jekyll。
4.多个子类别:网站有很多子类别,仅重命名文件夹是行不通的。
因此,在不影响 SEO 或彻底改变我现有设置的情况下,从 GitHub Pages 中的 URL 中删除 html 扩展名的最佳实践或技术是什么?
使用 .htaccess 文件:我尝试使用 .htaccess 文件进行 URL 重写,但遇到了错误。由于 GitHub Pages 不支持 .htaccess,因此这种方法不可行。 修改文件名:我考虑过重命名文件和文件夹以删除 .html,但由于该网站具有多个子类别的复杂结构,这种方法不切实际。 GitHub Pages 配置:我探索了 GitHub Pages 设置和配置选项,但发现不支持 URL 重写或直接删除 .html 扩展名。 自定义域设置:我检查了自定义域设置,以确保它不会干扰 URL 结构,但确认它不是问题的根源。 考虑到这些限制和我已经尝试过的方法,从 GitHub Pages 上的 URL 中删除 .html 扩展名而不影响 SEO 或需要对现有设置进行重大更改的最佳实践或方法是什么?
ive 也尝试过使用 https://rsp.github.io/gh-pages-no-extension/,但它不再对我有用。例如, https://rsp.github.io/gh-pages-no-extension/test1 有效,但 https://rsp.github.io/gh-pages-no-extension/index 无效,而 https://rsp.github.io/gh-pages-no-extension/index.html 确实如此。这表明虽然资源的某些部分有效,但其他部分却不起作用。
最简单的方法不需要任何配置更改或使用 Jekyll,只需链接到您的页面,而无需在 HTML 文件中添加
.html
扩展名。例如,如果您有 about.html
,您可以将其链接为 <a href="/about">About</a>
。当有人访问 /about 时,GitHub Pages 会自动提供 about.html
。此方法之所以有效,是因为 GitHub Pages 本质上支持提供 URL 中不带扩展名的 HTML 文件(前提是该文件存在)。