HTML扩展样式
Antora允许您自定义在HTML页面的URL中使用的文件扩展名。默认情况下,URL将以.html结尾,与发布文件的名称相同。如果您想要通过隐藏扩展名来“美化”URL以进行SEO或其他原因,您可以配置Antora来实现。您可以选择直接删除扩展名或将扩展名替换为斜杠(一种称为indexify的技术)。当使用这些选项之一时,如果源页面命名为index.adoc,Antora还将删除最后的URL段。本页面解释了如何控制此设置。
html_extension_style键
html_extension_style
键是可选的。它在playbook中的urls键下进行配置。
urls:
html_extension_style: indexify
它接受以下内置值:
-
default
-
发布页面的URL显示为.html扩展名,即https://base-url.com/component/version/module/my-file.html。如果在playbook或通过CLI中未设置
html_extension_style
,Antora将自动应用此样式。 -
indexify
-
删除.html扩展名,并在发布页面的URL末尾附加斜杠(
/
),即https://base-url.com/component/version/module/my-file/。如果您不希望在URL中出现.html扩展名,则这是首选样式。 -
drop
-
从发布页面的URL末尾删除.html扩展名,即https://base-url.com/component/version/module/my-file。此样式需要Web服务器的支持,只有在您熟悉应用必要的Web服务器配置时才应使用。
使用默认样式
如果在playbook或通过--html-url-extension-style选项的CLI中未设置html_extension_style
,Antora将在运行时自动将值default
分配给它。默认样式会在每个发布页面的URL末尾附加.html扩展名。例如,页面my-file.adoc的URL将在浏览器中显示为附加.html的形式,即https://base-url.com/component/version/module/my-file.html。
应用indexify样式
让我们将indexify
分配给html_extension_style
键。
site:
title: 网站标题
url: https://example.org
urls:
html_extension_style: indexify
应用indexify
后,站点的发布URL不以.html扩展名结尾。相反,直接在页面主干的末尾附加斜杠(/
)。这导致页面my-file.adoc的URL在浏览器中显示为https://example.com/component/version/module/my-file/。
当将html_extension_style
分配为indexify
时,要本地预览站点的所有功能,如重定向和404页面,您需要运行本地服务器。
应用drop样式
让我们将drop
分配给html_extension_style
键。
site:
title: 网站标题
url: https://example.org
urls:
html_extension_style: drop
应用drop
后,站点的发布URL不以.html扩展名结尾。这导致页面my-file.adoc的URL在浏览器中显示为https://example.com/component/version/module/my-file。使用此样式时,为了使站点正常工作,您必须通过Web服务器查看站点。您还需要配置Web服务器以查找带有.html扩展名的文件。
并非所有Web服务器都能支持无扩展名的HTML URL。 |
如果您使用nginx,您需要在主机配置中的location /
段中添加以下指令:
location / {
# ...
try_files $uri $uri.html $uri/index.html = 404;
}
此指令告诉nginx首先查找请求的文件,然后查找带有添加.html扩展名的相同文件,然后查找与请求文件匹配的目录中名为index.html的文件。这些尝试与发布文件的布局相匹配。