บทความนี้จะแนะนำวิธีการกำหนดค่า Redirect Website ผ่านไฟล์ .htaccess ของเว็บไซต์
ไฟล์ Hypertext Access หรือไฟล์ .htaccess โดยปกติไฟล์ดังกล่าวจะอยู่ที่โฟล์เดอร์ public_html ของเว็บไซต์
ลูกค้าสามารถแก้ไขไฟล์ดังกล่าวได้โดยเข้าผ่านระบบจัดการ cPanel > File Manager > public_html > .htaccess
หรือสร้างไฟล์ .htaccess ด้วยโปรแกรม notepad และอัปโหลดไฟล์ (FTP) ไปยังโฟล์เดอร์ public_html ผ่านโปรแกรม filezilla
การ Redirect URL เป็นการบอกเซิร์ฟเวอร์ว่าจะส่งการรับส่งข้อมูลนี้ไปยังปลายทางอื่น
ซึ่งการ Redirect URL มีสองแบบคือ การเปลี่ยน Redirect URL แบบถาวร และการ Redirect URL แบบชั่วคราว
การ Redirect เว็บไซต์ทั้งหมดเมื่อเราต้องการให้ Redirect โดเมนเก่าทั้งหมดตั้งแต่ไดเร็กทอรี่ root ไปยังโดเมนใหม่
Redirect 301 / https://www.hostpacific.com/
การ Redirect แต่ละหน้าของเว็บไซต์เมื่อเข้า /old.html ระบบจะทำการ Redirect ไปยัง https://www.hostpacific.com/new.html
Redirect 301 /old.html https://www.hostpacific.com/new.html
การ Redirec หน้า index.html ไปยังโฟล์เดอร์ที่เราต้องการ
Redirect /index.html https://www.hostpacific.com/testfolder/
การเขียน Rewrite Redirect ให้ไม่มี www นำหน้า
เช่น เมื่อเข้า https://www.hostpacific.com ระบบจะ Redirect ไปที่ https://hostpacific.com ให้อัตโนมัติ
RewriteEngine On
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^hostpacific\.com
RewriteRule (.*) https://hostpacific.com/$1 [R=301,L]
การเขียน Rewrite Redirect ให้มี www นำหน้า
เช่น เมื่อเข้า https://hostpacific.com ระบบจะ Redirect ไปที่ https://www.hostpacific.com ให้อัตโนมัติ
RewriteEngine on
RewriteCond %{HTTP_HOST} ^hostpacific.com [NC]
RewriteRule ^(.*)$ https://www.hostpacific.com/$1 [L,R=301]
การเขียน Rewrite Redirect เพื่อบังคับใช้ SSL
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.hostpacific.com/$1 [R,L]
การเขียน Rewrite Redirect เพื่อบังคับใช้การเชื่อมต่อ HTTPS
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} !^www\.hostpacific\.com$ [NC]
RewriteRule ^(.*)$ http://www.hostpacific.com/$1 [L,R=301]
RewriteCond %{SERVER_PORT} 443
RewriteCond %{HTTP_HOST} !^www\.hostpacific\.com$ [NC]
RewriteRule ^(.*)$ https://www.hostpacific.com/$1 [L,R=301]
หรือ
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
การเขียน Rewrite Redirect เพื่อบังคับใช้การเชื่อมต่อ HTTPS ในบางโฟล์เดอร์
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} testfolder
RewriteRule ^(.*)$ https://www.hostpacific.com/testfolder/$1 [R,L]
HostPacific หวังเป็นอย่างยิ่งว่าผู้ใช้งานที่ได้อ่านบทความนี้จะเข้าใจการกำหนดค่า Redirect ผ่านไฟล์ .htaccess มากขึ้น และสามารถนำไปปรับใช้ให้เหมาะกับเว็บไซต์ของผู้ใช้งานมากขึ้นครับ