ฉันกำลังพยายามสร้างชุดการเปลี่ยนเส้นทางที่ไม่ซ้ำกันบนเว็บเซิร์ฟเวอร์ Apache (เวอร์ชันเซิร์ฟเวอร์: Apache/2.2.15) เมื่อใช้ .htaccess หรือโมดูล Apache เพิ่มเติม ฉันต้องแยกวิเคราะห์ URL ที่ร้องขอทั้งหมดเพื่อแยกชื่อโฮสต์โดยไม่ต้องใช้ .com ต่อท้ายมาตรฐาน
ตัวอย่าง:
ฉันต้องการ ชื่อผู้ขาย จากชื่อโฮสต์ vendorname.com.
ธุรกิจที่ฉันสนับสนุนทำงานร่วมกับผู้ให้บริการบุคคลที่สามและได้สร้างโดเมนระดับบนสุดที่ไม่ซ้ำกันสำหรับแต่ละราย ซึ่งชี้ไปยังไดเรกทอรีย่อยเฉพาะของผู้ให้บริการใน รากเอกสาร ของเว็บเซิร์ฟเวอร์
ตัวอย่าง:
vendorname.com/logo.jpg โหลดเนื้อหาที่สามารถเข้าถึงได้ด้วย parentbusinessdomain.com/vendorname/logo.jpg
อนุสัญญานี้จัดทำขึ้นโดยธุรกิจเมื่อ 10 หรือ 15 ปีที่แล้ว และมีผู้ขายจำนวนมาก สิ่งที่ธุรกิจไม่ได้คำนึงถึงคือความจำเป็นในการรองรับการใช้งาน HTTPS/SSL สำหรับแต่ละโดเมนที่ไม่ซ้ำกัน หากพวกเขาใช้โดเมนย่อย เช่น vendorname.parentbusinessdomain.com ก็จะไม่เป็นปัญหา จากนี้ไป เราขอยกเลิกข้อตกลงนี้และเพียงแค่โฮสต์รูปภาพและเนื้อหาอื่นๆ จาก https://parentbusinessdomain.com.
ปัญหาที่ฉันพบอย่างต่อเนื่องคือดูเหมือนจะไม่มีการดำเนินการสตริง Apache มาตรฐานหรือตัวแปรฝั่งเซิร์ฟเวอร์ซึ่งแสดงหรือแยกชื่อโฮสต์โดยไม่มีสตริง ".com" เฉพาะ การแยกสตริงประเภทนี้เป็นไปได้กับแบ็กเอนด์ PHP หรือ Javascript ส่วนหน้า แต่ดูเหมือนว่าฉันจะถูกจำกัดด้วยสิ่งที่ .htaccess สามารถทำได้
ตัวอย่างที่คล้ายกันกับฟังก์ชัน Javascript ที่กำหนดเอง: https://stackoverflow.com/a/16934798/602514
parseURL('https://www.facebook.com/100003379429021_356001651189146');
ผลลัพธ์:
วัตถุ {
โดเมน : "www.facebook.com",
โฮสต์: "facebook",
เส้นทาง : "100003379429021_356001651189146",
โปรโตคอล: "https",
โดเมนย่อย : "www",
tld : "คอม"
}
สถานการณ์ฉุกเฉินคือการสำรวจการเขียนซ้ำ/เปลี่ยนเส้นทาง URL ภายในเว็บแอปพลิเคชันเดิม แต่หวังว่าจะมีโซลูชันที่สวยงามกว่าจากมุมมองของโครงสร้างพื้นฐาน