เปลี่ยนเส้นทางโดเมนหลัก แต่ไม่ใช่โดเมนย่อย

ฉันกำลังทำงานกับเว็บไซต์ที่มีผู้ขายหลายราย ผู้ขายแต่ละรายมีโดเมนย่อยของตัวเอง สิ่งที่ฉันต้องการทำคือเปลี่ยนเส้นทางผู้เยี่ยมชมไปยังหน้าเข้าสู่ระบบเมื่อเยี่ยมชมโดเมนหลัก (หน้าแรกหลัก) แต่ไม่ควรเปลี่ยนเส้นทางเมื่อเยี่ยมชมโดเมนย่อย (หน้าแรกของผู้ขาย)

myproject.com/ เปลี่ยนเส้นทาง -> myproject.com/login/

แต่

seller.myproject.com/ ไม่ควรเปลี่ยนเส้นทาง

ฉันได้ลองบางอย่างด้วย htaccess แล้ว แต่สุดท้ายฉันก็เปลี่ยนเส้นทางโดเมนย่อยไปที่ seller.myproject.com/login/ ด้วย

ใครช่วยชี้ฉันไปในทิศทางที่ถูกต้องได้ไหมเพราะฉันแย่กับ regex มาก

ขอบคุณ!


person sandervh    schedule 17.07.2018    source แหล่งที่มา


คำตอบ (3)


ฉันคิดว่าคุณสามารถแก้ปัญหาของคุณได้โดยใช้ regex โดยใช้จุดสองจุดเพื่อระบุว่าผู้ใช้อยู่ในหน้าผู้ขาย ฉันไม่รู้ว่าคุณใช้ภาษาอะไร แต่คุณสามารถหาแนวคิดได้จากที่นี่

String input="seller.myproject.com/";
Pattern p=Pattern.compile(("[a-zA-z0-9]\\.[a-zA-z0-9]\\.com"));
Matcher m=p.matcher(input);
if(m.find())
{
     //don't redirect
}
else
{
     //redirect
}
person Owais Ch    schedule 17.07.2018

โอเค ฉันเพิ่งพบสิ่งนี้:

https://stackoverflow.com/a/16886639/8694548

และวิธีนี้ใช้ได้ผล แต่ตอนนี้คำถามคือจะทำให้โดเมนย่อยทั้งหมดมีพฤติกรรมนี้ได้อย่างไร แทนที่จะวางไว้ตรงนั้นด้วยตนเอง

ดังนั้นแทนที่จะเป็น !^(foo|bar)\.example\.com$ > !^(*)\.example\.com$

ขอบคุณสำหรับความช่วยเหลือของคุณ!

person sandervh    schedule 17.07.2018

โอเค ฉันเข้าใจแล้ว นี่คือสิ่งที่ใช้ได้ผลสำหรับฉัน:

# Redirect anything except subdomains RewriteCond %{HTTP_HOST} !^(.*)\.myproject\.com$ [NC]

# Redirect to myproject.com/login, preserving the URI RewriteRule ^(.*)$ https://myproject.com/login/ [L,R=302]

person sandervh    schedule 17.07.2018