ฉันหวังว่าจะใช้ CDN เพื่อส่งไฟล์ภาพทั้งหมดของเรา เราเรียกรูปภาพโดยใช้โดเมนของ CDN แทนโดเมนของเราเอง ฉันสามารถเปลี่ยนการอ้างอิงโดเมนได้อย่างง่ายดายในระบบจัดการเนื้อหาของเรา แต่แล้วการแสดงตัวอย่างก็หยุดลงเนื่องจากระบบกำลังมองหารูปภาพที่ยังไม่ปรากฏบนเซิร์ฟเวอร์ภายนอกเพื่อให้ CDN ของเราดึงมา ทันทีที่เราเผยแพร่ CDN จะมีรูปภาพให้ดึง
ฉันคิดว่าฉันสามารถเพิ่มกฎในไฟล์ .htaccess ของไซต์ภายนอกของเรา เพื่อเปลี่ยนเส้นทางคำขอรูปภาพจากโฟลเดอร์ /webfiles ไปยังโฟลเดอร์ที่เหมาะสมใน CDN ของเรา ฉันตระหนักว่าเมื่อ CDN พยายามเก็บเกี่ยวอิมเมจ มันจะถูกส่งกลับไปยังเซิร์ฟเวอร์ของตัวเอง ดังนั้นฉันจึงได้เพิ่มบรรทัดผู้อ้างอิงเพื่อให้เฉพาะคำขอจากเซิร์ฟเวอร์ของเราเท่านั้นที่จะดึงเวอร์ชัน CDN ฉันไม่เต็มใจที่จะลองสิ่งนี้บนเซิร์ฟเวอร์จริงของเราจนกว่าจะได้รับข้อเสนอแนะที่มีความรู้ วิธีการนี้สมเหตุสมผลหรือไม่? นี่จะเป็นคำสั่งที่ถูกต้องหรือไม่? (ฉันจะทดสอบโดยใช้ 302 ก่อน)
RewriteCond %{HTTP_REFERER} ^https://www.example.com [NC]
RewriteCond %{REQUEST_URI} ^\.(jpg|jpeg|png|gif|webp)$ [NC]
RewriteCond %{HTTP_HOST} ^(.*)www.example.com/webfiles/$ [NC]
RewriteRule ^(.*)$ http://example-cdn.com/webfiles/$1 [R=301,L]