บทความนี้จะแนะนำวิธีการกำหนดค่า 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 มากขึ้น และสามารถนำไปปรับใช้ให้เหมาะกับเว็บไซต์ของผู้ใช้งานมากขึ้นครับ