我遇到了一個問題,我的網站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