สำหรับผู้ใช้งานโฮสติ้งหรือผู้พัฒนาเว็บหลายๆ คนคงเคยได้ยินชื่อ ไฟล์ .htaccess หรือเคยเห็นไฟล์นี้ผ่านหูผ่านตามาบ้างแล้ว เคยสงสัยไหมว่าไฟล์ .htaccess คืออะไร? มีไว้ทำไม? วันนี้เราจะมาตอบคำถามเหล่านี้กันค่ะ
ก่อนอื่นเราต้องมาทำความรู้จักเสียก่อนว่า .htaccess คืออะไร
ไฟล์ .htaccess ย่อมาจาก (hypertext access) เป็นไฟล์ที่ใช้บน Apache Server ซึ่งไฟล์นี้มีไว้เพื่อกำหนดค่าหรือตั้งค่าต่างๆ บน Server โดยจะ.ใช้สำหรับ การเปลี่ยนเส้นทาง URL ของเว็บไซต์, การควบคุมการเข้าถึง, ความปลอดภัยของเว็บไซต์ และอื่นๆ
ไฟล์ .htaccess อยู่ที่ไหน?
ไฟล์ .htaccess เป็นไฟล์ Text ซึ่งจะอยู่ใน root folder ของเว็บไซต์ก็คือ public_html ซึ่งคุณสามารถมีไฟล์ .htaccess ได้หลายไฟล์ แต่ 1 directory จะมีไฟล์ .htaccess ได้เพียงแค่ไฟล์เดียวเท่านั้น ยกตัวอย่างเช่น หากวางไฟล์ .htaccess ไว้ที่ root directory (www.hostatom.com) ไฟล์นี้จะมีผลกับเว็บไซต์ของคุณทั้งเว็บ แต่ถ้าคุณไปวางไว้ที่ directory /content (www.hostatom.com/diretory) ไฟล์นี้ก็จะมีผลกับ directory นั้นเท่านั้น
แล้วจะนำไฟล์ .htaccess ไปใช้ทำอะไร?
อย่างที่บอกไว้ในตอนต้นว่าไฟล์ .htaccess มีไว้เพื่อควบคุมการทำงาน หรือ Directory ของเว็บไซต์ ดังนั้นไฟล์ .htaccess จะถูกนำมาใช้เพื่อ
ควบคุมการเข้าถึงเว็บไซต์
- เปลี่ยนเส้นทางโดเมนย่อยไปยังโฟลเดอร์ย่อย
- เปลี่ยนเส้นทางโดยใช้ 301 หรือ 302 เช่น การพิมพ์ชื่อเว็บไซต์ โดยไม่ใส่ www
- ป้องกันการเข้าถึงโฟลเดอร์
- เปลี่ยนเส้นทางไปยัง https
- เปิดใช้งานป้องกันลิงก์
- บล็อก IP ที่ต้องการ
- เปลี่ยนเวลา Time Zone ของเว็บไซต์
- ตั้งค่าเพื่อใช้ในการจัดการ Bot
วิธีสร้างไฟล์ .htaccess
สำหรับใครที่ใช้บริการ WordPress Hosting กับทางโฮสอะตอม ไม่จำเป็นต้องสร้างไฟล์ .htaccess เพราะเมื่อติดตั้ง WordPress แล้ว ไฟล์นี้จะถูกสร้างขึ้นโดยอัตโนมัติ โดยจะอยู่ใน folder “public_html”
แต่หากใครที่ใช้บริการ Web Hosting ต้องไปสร้างไฟล์ .htaccess เองนะคะ โดยไปสร้างที่ folder “public_html” เช่นเดียวกันหากใครใช้บริการอื่นๆ นอกเหนือจากที่กล่าวมา สามารถไปสร้างไฟล์ .htaccess ได้ที่ directory ที่ต้องการได้เลยนะคะ
ตัวอย่างคำสั่งที่พบบ่อยๆใน .htaccess
redirect หรือคำสั่งเปลี่ยนเส้นทาง เป็นคำสั่งที่บอกให้ Apache Web Server เปลี่ยนเส้นทางจากหน้าเว็บเก่า ไปยังเว็บใหม่จากตัวอย่างคำสั่ง จะเห็นว่ามีการเปลี่ยนเส้นทางจาก folder เก่าที่ชื่อ old_dir ไปยัง folder ใหม่ที่ชื่อ new_dir โดยชื่อไฟล์ยังคงเป็นชื่อเดิม คือ index.html
Redirect /old_dir/ http://www.yourdomain.com/new_dir/index.htmlหน้า
Error Documents เป็นคำสั่งที่ให้แสดงหน้าเว็บ /error_pages/404.html ทุกครั้งที่มีการแสดงผลผิดพลาดโดย รหัส 404 Not Found, 401 Unauthorised, 403 Forbidden, หรือ 500 Internal Server Error เป็นต้น
ErrorDocument 404 http://yourdomain.com/404/
ErrorDocument 500 http://yourdomain.com/500/
Deny visitiors by IP Address เป็นคำสั่งที่บอกว่า IP ที่ระบุไว้ไม่สามารถเข้าใช้งานได้ โดยจากตัวอย่าง จะเห็นว่า เราจะไม่ให้ผู้ใช้ IP 123.123.0.0 และผู้ใช้งาน IP 123.12.12. (ตั้งแต่ 123.12.12.10 ถึง 123.12.12.255) เข้าใช้งาน
order allow,deny
deny from 123.123.0.0
deny from 123.12.12.
allow from all
หรือไม่ให้ทุก IP เข้ามายกเว้น IP 123.123.0.0
order allow,deny
allow from 123.123.0.0
deny from all
redirect http ไปยัง https
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.yourdomain.com%{REQUEST_URI} [NC,L]
redirect url ที่ไม่ใส่ www ให้มี www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.yourdomain.com%{REQUEST_URI} [NC,L]
นี่เป็นเพียงตัวอย่างคำสั่ง .htaccess บางส่วน หากต้องการใช้งานคำสั่งอื่นๆ แนะนำให้ดูที่ Apache HTTP Server Tutorial: .htaccess files
สนใจติดตามหรืออ่านบทความอื่นๆ ได้ที่ kb.hostatom.com นะคะ