我遇到了一个问题,我的网站www.example.com被映射到AWS Cloudfront。但是,我希望Cloudfront CDN将主机“www.example.com”传递到原始服务器以检索内容。它看起来并不像Cloudfront上的此功能,但很确定它是在其他CDN提供商(如LLNW等)上。Cloudfront CDN到Apache的起源
现在为了解决这个问题,我可以使用“example.com”的A记录作为原点在我的服务器端但这很容易导致重复内容的问题,我已经重定向非www到www在我的Apache配置:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^/(.*)?$ http://www.example.com/$1 [R=301,NC,NE,L]
有没有办法有上述规则以外的所有*。 cloudfront.net域名?这样可以确保来自cloudfront.net的任何流量都能够使用“example.com”作为来源,而不会被重定向到“www.example.com”,从而导致循环问题。
这里是我已制定了规则:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteCond %{HTTP_HOST} !^.cloudfront\.net$ [NC]
RewriteRule ^/(.*)?$ http://www.example.com/$1 [R=301,NC,NE,L]
然而,正如我曾希望这是行不通的。
任何建议,将不胜感激。
谢谢!
仅供参考,更新,回答,解决的条件1和2 – zx81
感谢您的回答之间的失配。这是否意味着任何访问example.com的请求都将被重定向到www.example.com,除非该请求来自cloudfront.net主机? –
已更新的答案。 :) – zx81