ซับโดเมนใส่ www ต้อง Redirect ได้ใน HTTPS

เมื่อวานเคนเพิ่งเปลี่ยนจาก HTTP ปกติเป็น HTTPS ครับ ทีนี้มาวันนี้มีลูกค้าแจ้งมาว่าซับโดเมน subdomain.domain.com ปกติมันเข้าด้วย www.subdomain.domain.com ได้ มาวันนี้มันเข้าไม่ได้ เคนก็รู้เลยว่ามันต้องเป็นที่ HTTPS แน่นอนและมันต้องแก้ที่ไฟล์ .htaccess แน่นอน

ค้นหามาเจอใน StackOverflow ครับ คลังความรู้ทางลัดของโปรแกรมเมอร์จริง ๆ ต้องขอบคุณท่านนี้จริง ๆ VSG24

ทำให้เราเขียนโค้ด htaccess 2 บรรทัดก็รองรับทั้ง http และ https เลยทีเดียว

# Redirect www subdomain to non-www 
RewriteCond %{HTTP_HOST} ^www\.([^.]+\.yourdomain\.com)$ [NC]
RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [R=301,L]

อยากจะกด Vote ให้เหมือนกันแต่แอคเคาท์เคนไม่สามารถกดได้อ่ะ!!


อีกนิด

แต่หลังจากใช้เท่านี้มันยังไม่เพียงพอครับ บางครั้งมันยังไม่ยอม Redirect ไป HTTPS เคนเลยต้องเพิ่มโค้ดอีกชุดนึงเพื่อประกันว่ามันจะใช้ HTTPS แบบชัวร์ ๆ ใส่ต่อจากข้างบนได้เลย

RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

กำหนด DNS

หลังจากที่เราทำตัวไฟล์ htaccess แล้ว บางครั้งเข้าด้วย www.subdomain.domain.com จะมี Error ที่บอกว่า DNS มันหาไม่เจอ เราต้องไปเพิ่มที่ DNS ด้วย โดยถ้าใช้ Direct  Admin มันก็จะง่ายด้วยการเข้าเมนู DNS Management แบบนี้ครับ

ตัวอย่างก็คือ Subdomain คือ shop เราต้องกำหนดลงไปด้วยว่าถ้าคนพิมพ์ www.shop มามันจะเรียกที่ shop นะ

โดยการเพิ่ม CNAME เข้าไปตามตัวอย่างในรูปด้านบนครับ

เสร็จแล้ว

ลองเอาไปใช้ดูนะ สำหรับการ Redirect www.subdomain.domain.com -> subdomain.domain.com เคนลองมาหลายโค้ดเหมือนกัน แต่ชุดนี้เจ๋งสุดและใช้ได้จริงสำหรับเคนเลยครับ

เดี๋ยวด้านล่างจะพยายามใส่คีย์เวิร์ดเพื่อให้เวลาคนค้นหาเจอใน Google ละกันครับจะใส่เท่าที่นึกออกจะได้หาเจอง่าย ๆ เลย

www subdomain https htaccess, htaccess www to non www support http and https, www in subdomain get blank page https

Leave a Reply

Please Login to comment
avatar
  Subscribe  
Notify of
Navigate