จะให้บริการ robots.txt ที่แตกต่างกันสำหรับ http และ https ในไซต์เดียวกันได้อย่างไร


11

ฉันมีเว็บไซต์เล็ก ๆ ที่ให้บริการโดย Apache (ฉันไม่สามารถใส่ Nginx ไว้ข้างหน้าหรือเปลี่ยน Apache เป็นอะไรก็ได้) และได้รับการตั้งค่าให้บริการไซต์เดียวกันทั้งผ่าน http และ https (ไม่มีการเปลี่ยนเส้นทาง http-> https ที่นั่น ตอนนี้ดังนั้นทั้ง http และ https จะให้บริการแบบขนาน)

สิ่งที่ฉันต้องการคือการตั้งค่า.htaccessURI เดียวกันผ่าน http และผ่าน https เพื่อให้บริการไฟล์ข้อความที่แตกต่างกัน?

กดไลค์http://example.com/proto.txtว่า "ไซต์อยู่บน http" ในขณะที่https://example.com/proto.txtจะพูดว่า "ไซต์แสดงผ่าน https"


ไม่มีเวลาที่จะตรวจสอบวิธีการเขียนนี้อย่างแน่นอน (และเพียงแค่ความคิดเห็นไม่ใช่คำตอบ) แต่ตัวเลือกอื่นถ้าคุณไม่ต้องการหรือไม่สามารถเปลี่ยนการกำหนดค่า Apache หลักได้คือการใช้RewriteRuleในของคุณ.htaccessที่มีสภาพที่มันถูกส่งผ่าน https
jcaron

@dcaron นี้เป็นสิ่งที่ฉันต้องการฉันเพียงแค่ไม่สามารถคิดออกว่าจะทำอย่างไรกันแน่และต้องมีคำแนะนำหรือ (ดีกว่า) โค้ดที่จะทำ :)
เควินเอ็ม

HTTP และ HTTPS เว็บไซต์ของคุณอยู่ในที่แตกต่างกัน<VirtualHost>ของ ดังนั้นคุณเพียงแค่ต้องกำหนดค่า robots.txt ที่แตกต่างกันในหนึ่งในนั้น รอบ ๆ :RewriteRule ^/robots.txt$ /path/to/alternative/robots.txt [L]
เตอร์ - Reinstate โมนิกา

คำตอบ:


19

ใช้นามแฝง

สร้างสองไฟล์ robots.txt และ robots_http.txt และเพิ่มลงใน http VirtualHost ของคุณ:

Alias "/robots.txt" "/path/to/documentroot/robots_http.txt"

ไม่สามารถแก้ไขการตั้งค่า vhost สามารถแก้ไขได้เท่านั้น. htaccess นี่คือเคล็ดลับ
Kevin M

2

หากคุณไม่สามารถหรือไม่สามารถเปลี่ยนการกำหนดค่า Apache "หลัก" แต่ต้องทำใน.htaccessไฟล์คุณสามารถใช้ a RewriteRuleด้วยRewriteCondเพื่อตรวจสอบ HTTPS

บางสิ่งบางอย่างตาม:

RewriteEngine On

RewriteCond %{HTTPS} "on"
RewriteRule robots.txt robots_https.txt [L]

น่าจะทำงานได้ (ฉันไม่ได้ทดสอบ)

โปรดทราบว่านี่เป็นไปตาม Apache ที่ทำการยกเลิก HTTPS เอง หากการยกเลิก HTTPS เสร็จสิ้นใน reverse proxy ก่อนหน้านั้นเงื่อนไขนั้นน่าจะแตกต่างกัน (และจะขึ้นอยู่กับการกำหนดค่าของ reverse proxy และ Apache)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.