如何在AEM6.3中为除prod以外的所有环境添加"No index" meta标签?
How to add "No index" meta tag for all the environments other than prod in AEM6.3?
我需要在 html 页面的头部部分添加“无索引”元标记,用于所有环境(舞台、质量检查等),除了prod/live 站点避免那些环境被搜索引擎搜索到。
我计划使用“runmodes”来检查环境并为每个环境设置条件,不要为 prod runmode 添加 "no index" .
有没有更好的方法来实现这个?
我看到的唯一选择是创建一个使用 class/Sling 模型,连接 SlingSettingsService
docs here 然后使用 SlingSettingsService#getRunModes()
获取所有运行模式并检查所需的运行模式。
这是一个简单的吊索模型,用于检查产品运行模式。您可以以相同的方式根据您的特定运行模式添加更多检查。
@Model(adaptables = {SlingHttpServletRequest.class})
public class AbstractFacilityComponent
{
@OSGiService SlingSettingsService slingSettings;
boolean isProd;
@PostConstruct
protected void postConstruct()
{
Set<String> runmodes = slingSettings.getRunModes();
isProd = runmodes.contains("prod");
return;
}
public boolean isProd(){ return isProd; }
}
您可以更改部署应用程序的上下文,而不是更改生产环境和预生产环境之间的行为。
想到以下选项:
不允许 public 访问您的预生产环境。 (例如,不要给您的预生产环境一个 public IP 地址,限制访问相同的 network/VPN,等等)
如果您在 AEM 前面有 Apache,我假设每个环境都有不同的 Apache 实例或不同的 Apache vhost。您可以将预生产虚拟主机配置为始终添加 the x-robots: noindex
header
通常,您应该将非产品环境保密。如果 google 可以索引您的登台或开发实例,那么其他人也可以访问它。在我看来,这是一个很高的安全风险。
我需要在 html 页面的头部部分添加“无索引”元标记,用于所有环境(舞台、质量检查等),除了prod/live 站点避免那些环境被搜索引擎搜索到。
我计划使用“runmodes”来检查环境并为每个环境设置条件,不要为 prod runmode 添加 "no index" .
有没有更好的方法来实现这个?
我看到的唯一选择是创建一个使用 class/Sling 模型,连接 SlingSettingsService
docs here 然后使用 SlingSettingsService#getRunModes()
获取所有运行模式并检查所需的运行模式。
这是一个简单的吊索模型,用于检查产品运行模式。您可以以相同的方式根据您的特定运行模式添加更多检查。
@Model(adaptables = {SlingHttpServletRequest.class})
public class AbstractFacilityComponent
{
@OSGiService SlingSettingsService slingSettings;
boolean isProd;
@PostConstruct
protected void postConstruct()
{
Set<String> runmodes = slingSettings.getRunModes();
isProd = runmodes.contains("prod");
return;
}
public boolean isProd(){ return isProd; }
}
您可以更改部署应用程序的上下文,而不是更改生产环境和预生产环境之间的行为。
想到以下选项:
不允许 public 访问您的预生产环境。 (例如,不要给您的预生产环境一个 public IP 地址,限制访问相同的 network/VPN,等等)
如果您在 AEM 前面有 Apache,我假设每个环境都有不同的 Apache 实例或不同的 Apache vhost。您可以将预生产虚拟主机配置为始终添加 the
x-robots: noindex
header
通常,您应该将非产品环境保密。如果 google 可以索引您的登台或开发实例,那么其他人也可以访问它。在我看来,这是一个很高的安全风险。