.htaccess คือไฟล์อะไร

สำหรับผู้ใช้งานโฮสติ้งหรือผู้พัฒนาเว็บหลายๆ คนคงเคยได้ยินชื่อ ไฟล์ .htaccess หรือเคยเห็นไฟล์นี้ผ่านหูผ่านตามาบ้างแล้ว เคยสงสัยไหมว่าไฟล์ .htaccess คืออะไร? มีไว้ทำไม? วันนี้เราจะมาตอบคำถามเหล่านี้กันค่ะ

ก่อนอื่นเราต้องมาทำความรู้จักเสียก่อนว่า .htaccess คืออะไร

ไฟล์ .htaccess ย่อมาจาก (hypertext access) เป็นไฟล์ที่ใช้บน Apache Server ซึ่งไฟล์นี้มีไว้เพื่อกำหนดค่าหรือตั้งค่าต่างๆ บน Server โดยจะถูกใช้เพื่อ

  • ปกป้องเว็บไซต์ด้วยรหัสผ่าน
  • สร้างหน้า Error ตามที่ผู้พัฒนาต้องการ
  • เปลี่ยนเส้นทางไปยังเว็บอื่น

ไฟล์ .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 เองนะคะ โดยไปสร้างที่ foleder “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 นะคะ

Was this article helpful?

Related Articles