删除.htAccess中的尾部斜杠以供CloudFront使用

编程入门 行业动态 更新时间:2024-10-15 04:22:46
本文介绍了删除.htAccess中的尾部斜杠以供CloudFront使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

StackOverflow上有很多"删除尾部斜杠"的正则表达式,它们都很可爱,但它们都有一个相同的问题:它们与Amazon CloudFront等CDN服务不能很好地配合。

所以,我的设置是www.Example是Amazon CloudFront,而我的真实网站是,比如说,real.Example。

下面的三个选项都将很高兴地删除www.example/目录/中的尾部斜杠,但会将URL重写为real.example/目录,这显然不是我想要的。

我已使用

RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ %{REQUEST_URI} [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{THE_REQUEST} s(.+?)/+[?s] RewriteRule ^(.+?)/$ /$1 [R=301,L]

...但所有这些都会暴露"真实"域名。

我如何编写一条regex重写规则来正确删除尾随斜杠,但不会将域重写到源网站?

(我不介意在此处硬编码域URL,但我需要保持http或HTTPS位不变。)

推荐答案

您尝试过这样的操作吗?

# Set "protossl" to "s" if we were accessed via . This is used later RewriteRule ^ - [E=protossl] RewriteCond %{HTTPS} on RewriteRule ^ - [E=protossl:s] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ http%{ENV:protossl}://www.example/$1 [R=301,L]

更多推荐

删除.htAccess中的尾部斜杠以供CloudFront使用

本文发布于:2023-11-01 13:14:01,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1549417.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:斜杠   尾部   以供   htAccess   CloudFront

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!