Score:1

วิธีลบส่วนต่อท้าย ".com" ออกจากตัวแปรชื่อโฮสต์โดยใช้ .htaccess

ธง ws

ฉันกำลังพยายามสร้างชุดการเปลี่ยนเส้นทางที่ไม่ซ้ำกันบนเว็บเซิร์ฟเวอร์ 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 ภายในเว็บแอปพลิเคชันเดิม แต่หวังว่าจะมีโซลูชันที่สวยงามกว่าจากมุมมองของโครงสร้างพื้นฐาน

kz flag
โดเมนทั้งหมดเป็น TLD เดียวเหมือนตัวอย่างของคุณ `.com` ฯลฯ หรือไม่ คุณมี STLD เช่น `.co.uk` เป็นต้นหรือไม่?
kz flag
URL ที่คุณกำลังเชื่อมโยงไปคืออะไร
sparecycle avatar
ws flag
@MrWhite โดเมนผู้ขายเหล่านี้ทั้งหมดเป็น .com ไม่ได้ตั้งใจจะทำให้สิ่งต่าง ๆ ซับซ้อนโดยแนะนำว่าเป็นโดเมนประเภทต่าง ๆสำหรับโดเมนปลายทาง ถ้าเราสามารถพูดได้ว่าโดเมนเป้าหมายคือ example.com ซึ่งจะรักษาความเป็นนิรนามของลูกค้าไว้ ขอบคุณล่วงหน้า!
kz flag
_Aside:_ "การแยกสตริงประเภทนี้เป็นไปได้ด้วยแบ็กเอนด์ PHP" - คุณต้องการทำเช่นนี้ในลักษณะเดียวกันในทุกภาษา (PHP, JS หรือ Apache); โดยการตรวจสอบส่วนหัว `Host` Apache มีเครื่องมือทั้งหมด คุณจะไม่ใช้ฟังก์ชัน JS เช่น _that_ หากคุณกำลังตรวจสอบ _current request_
Score:0
ธง kz

คุณสามารถทำสิ่งต่อไปนี้ที่ด้านบนสุดของคุณ .htaccess ไฟล์โดยใช้ mod_rewrite (แม้ว่าจะใช้งานได้โดยตรงในการกำหนดค่าเซิร์ฟเวอร์):

RewriteEngine เปิดอยู่

RewriteCond %{HTTP_HOST} !^example\.com
RewriteCond %{HTTP_HOST} ^(?:www\.)?([^.]+) [NC]
RewriteRule ^ https://example.com/%1%{REQUEST_URI} [R=302,L]

สิ่งนี้จะเปลี่ยนเส้นทาง <vendorname>.com/<anything> ถึง https://example.com/<ชื่อผู้ขาย>/<อะไรก็ได้>. ที่ไหน <anything> สามารถเป็นเส้นทาง URL ใดก็ได้ สตริงข้อความค้นหาใดๆ จะถูกรักษาไว้ตลอดการเปลี่ยนเส้นทาง

ตัวอย่าง.คอม คือ "parentbusinessdomain" ครั้งแรก เงื่อนไข เพียงตรวจสอบว่าคำขอนั้นไม่ได้มีไว้สำหรับโดเมนเป้าหมาย

เดอะ %1 การอ้างอิงย้อนกลับตรงกับ "ชื่อผู้ขาย" ซึ่งดึงมาจากชื่อโฮสต์ที่ร้องขอ vendorname.com ในก่อนหน้านี้ CondPattern. สิ่งนี้ทำให้สามารถเลือกโดเมนย่อย www ได้ คุณบอกว่าคุณเพิ่ง .com โดเมน แม้ว่าสิ่งนี้จะใช้ได้กับ TLD ใดๆ (หลายระดับ) เพียงสมมติว่าไม่มีโดเมนย่อยอื่น (ยกเว้น www ที่เป็นตัวเลือก)

ทดสอบครั้งแรกด้วยการเปลี่ยนเส้นทาง 302 (ชั่วคราว) และเปลี่ยนเป็น 301 (ถาวร) เท่านั้น - หากนั่นคือความตั้งใจ - เมื่อคุณยืนยันว่าใช้งานได้ตามที่ต้องการ

สิ่งที่ธุรกิจไม่ได้คำนึงถึงคือความจำเป็นในการรองรับการใช้งาน HTTPS/SSL สำหรับแต่ละโดเมนที่ไม่ซ้ำกัน

แค่อยากรู้ว่าการเปลี่ยนเส้นทางแก้ปัญหานี้ได้อย่างไร เป็นการเปลี่ยนเส้นทางเพียงเพื่อรักษา SEO และลิงก์ย้อนกลับของบุคคลที่สามที่ไปยัง URL ของแบบฟอร์ม http://vendorname.com/logo.jpg (เฉพาะ HTTP)? (แม้ว่าโดยปกติแล้วคุณจะไม่คาดหวังว่าจะมีลิงก์ย้อนกลับ โลโก้.jpg และตัวอย่างเฉพาะนี้ไม่ได้ช่วย SEO มากนัก?)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา