Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 如何防止AEM/Sling向无扩展URL添加尾部斜杠?_Apache_Mod Rewrite_Aem_Sling - Fatal编程技术网

Apache 如何防止AEM/Sling向无扩展URL添加尾部斜杠?

Apache 如何防止AEM/Sling向无扩展URL添加尾部斜杠?,apache,mod-rewrite,aem,sling,Apache,Mod Rewrite,Aem,Sling,站点上解析为实际节点的所有无扩展URL都将被重定向(使用301代码)到添加了尾部斜杠的版本。它将对前端web服务器的请求量增加了一倍,因此我们希望解决这个问题 我们确实使用Apache mod_rewrite将所有传入的URL(带斜杠或不带斜杠)重写为它们的.html等价物,以使dispatcher缓存保持一致,但实际处理有点奇怪 一般来说,我们有三种情况: URL有一个扩展名(即/content/xxx/yyy.html)-它正在被立即处理,没有重定向 URL有尾随斜杠(/content/xx

站点上解析为实际节点的所有无扩展URL都将被重定向(使用301代码)到添加了尾部斜杠的版本。它将对前端web服务器的请求量增加了一倍,因此我们希望解决这个问题

我们确实使用Apache mod_rewrite将所有传入的URL(带斜杠或不带斜杠)重写为它们的.html等价物,以使dispatcher缓存保持一致,但实际处理有点奇怪

一般来说,我们有三种情况:

  • URL有一个扩展名(即/content/xxx/yyy.html)-它正在被立即处理,没有重定向
  • URL有尾随斜杠(/content/xxx/yyy/)-它由mod_rewrite处理并成功重写为/content/xxx/yyy.html无重定向
  • 无扩展URL(/content/xxx/yyy)-由mod_rewrite处理,重写到/content/xxx/yyy.html,并立即重定向到/content/xxx/yyy/,随后从上述第2点开始执行例程
  • 为了排除源自Apache的重定向,我们禁用了几乎所有模块,如mod_dir、mod_协商、mod_autoindex等,以避免由于内容协商或目录索引而导致重定向,但请求仍在重定向

    我们的应用程序不包含任何基于URL的重定向,所以我想知道是否有任何OSGI服务或隐藏的配置设置触发此类重定向

    我们在站点上也有一组快捷方式,Apache将它们重写为实际的URL,它们被重定向到而不是。 例如,如果请求的URL为/aboutus,则它将成功映射到/content/xxx/yyy/operations/aboutus.html,并在一个循环中处理,而无需任何其他重定向。上述问题只有在JCR中有一个实际的对应节点并且请求是无扩展的情况下才有效