วิธีตั้งค่า .htaccess redirect https and www ง่ายๆ copy วางได้เลย
ตัวอย่าง code htaccess สำหรับการทำ redirect จาก http ไปเป็น https และจาก none www ไปเป็น www โดยการทำงานง่ายๆ
.htaccess redirect to https and www
To instead redirect all requests to https and non-www, use the following code instead of the previous
การทำ Redirect 301 มีผลดีต่อการทำ SEO ดังนั้นสิ่งนี้จะเป็นสิ่งแรกๆเลยที่เว็บไซต์ควรที่จะทำครับ ไม่ว่าจะเป็นการ Redirect ด้วยคำสั่ง PHP หรือ Htaccess หรือใดๆ โดยปกติแล้วลูกค้าที่ออกแบบเว็บไซต์กับทางบริษัท เอโอซอฟต์ จำกัดทุกราย ทางบริษัทได้ทำการตั้งค่าเหล่านี้ไว้ให้เรียบร้อยหลังจากจบงานแล้วทุกๆเว็บ แต่สำหรับท่านอื่นที่ไม่ใช้ลูกค้าเราก็สามารถติดตั้งเองได้ตามวิธีการติดตั้ง ที่ผมเขียนไว้ให้ด้านล่างนี้เลยครับ
สำหรับการใช้งานคำสั่ง htaccess ทาง Hosting ของลูกค้าจะต้องรองรับ การรันคำสั่งของ htaccess ด้วยนะครับถึงจะสามารถใช้งานได้
โดยหลักการทำ Redirect โดยง่ายตามขั้นตอนดังนี้
1. สร้างไฟล์ .htaccess บน root directory ของลูกค้า
โดยทั่วไป Hosting จะมี Folder root สำหรับการอัพโหลดตัวไฟล์เว็บไซต์ต่างๆขึ้นไป ให้เราไปสร้างไฟล์ .htaccess ไว้ที่นั่นครับ โดยแต่ละ Hosting อาจจะตั้งชื่อ Root Folder ไว้แตกต่างกันแล้วแต่ Hosting ของลูกค้าส่วนใหญ่จะตั้งชื่อว่า (public_html, private_html, www, httpsdoc)
2. ให้นำ code ด้านล่างนี้ไปใส่ไว้บนสุดของไฟล์ .htaccess ที่สร้างขึ้น เพียงเท่านี้ลองทดสอบการเข้าใช้งานดูครับ
# Canonical https/www
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
จะมีการทำงานหรือวิธีการเขียนอยู่หลายรูปแบบครับแต่ในเบื้องต้นนำ code ด้านบนในข้อ 2 ไปใส่ในไฟล์ .htaccess ก็เรียบร้อยครับ หากท่านมีไฟล์เก่าอยู่แล้วก็เพียงใส่ไว้ด้านบนสุด หรือหากมีความรูปก็อาจจะเอาไป รวมกับ code เดิมได้โดยที่ไม่กระทบต่อการทำงานครับ
Notes if using a proxy
if you are using some sort of proxy service or similar, add the following line to the above code
สำหรับคนที่ใช้งาน proxy อาจจะมีการเขียนตรวจสอบเพิ่มเข้าไปครับเพื่อให้การทำงานถูกต้องมากยิ่งขึ้นครับ
RewriteCond %{HTTP:X-Forwarded-Proto} !https
ในรูปแบบสุดท้ายที่ได้ออกมาก็จะเป็นประมาณนี้ครับ
# Canonical https/www (when using proxy)
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
ที่มาของบทความ
หากต้องการข้อมูลเพิ่มเติมสามารถเข้าไปดูที่ลิ้งค์นี้ได้เลยครับ
https://htaccessbook.com/htaccess-redirect-https-www/