-1

我正在使用 AEM。我已经使用redirect配置了一些虚 URL 。前任:

/coaties > /content/geometrixx-outdoors/women/coats/winter-coat.html

同样在网络服务器中,我进行了配置以去除 HTML 扩展名,因此我的网络服务器使用另一个重定向删除了 html 扩展名。现在,当我点击虚 URL 时,我将有 2 个重定向

/coaties > /content/geometrixx-outdoors/women/coats/winter-coat.html [1st redirect]
/content/geometrixx-outdoors/women/coats/winter-coat.html > 
/content/geometrixx-outdoors/women/coats/winter-coat [2nd redirect]

我想避免 2 次重定向,我不想向最终用户显示 HTML 扩展。

/coaties > /content/geometrixx-outdoors/women/coats/winter-coat [only one redirect]

我在 Sling 方面花了一些时间,但没有运气。我所了解的是,由于 Sling 将为所有没有扩展名的 URL 返回 403,它总是返回带扩展名的 URL。这可能在调度程序或 Web 服务器端吗?

4

2 回答 2

1

如果我理解,您想从您网站的所有页面中删除 .html 扩展名。

@awd 的解决方案将确保您页面中的所有hrefs 都将转换为没有扩展名的uris。

如果您不想在您的站点中添加任何扩展,您应该通过在 /etc/maps 下创建地图来使用内部重定向,您可以在此处找到官方文档:http: //sling.apache.org/documentation/the-sling- engine/mappings-for-resource-resolution.html

于 2018-08-10T08:57:19.320 回答
0

感谢大家的贡献。

我找到了以下问题的解决方案

我会在 httpd.conf 中为 apache 的 webserver 做以下配置

Header edit Location (.*).html$ $1

对于 obj.conf 中的 iPlanet

<If $srvhdrs{'Location'} =~ "^(.*).html$">
   Output fn="set-variable" $srvhdrs{'Location'}="$1"
</If>

这将确保 html 扩展将从重定向 URL 的位置标头中删除。

于 2018-08-14T13:13:35.197 回答