พื้นฐานของ. htaccess: วิธีใช้ & ตัวอย่าง

บทความที่เขียนโดย:
  • คู่มือการโฮสต์
  • อัปเดต: ก.ค. 29, 2019

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

ไฟล์. htaccess คือ SlimCleaner (ปกติเรียกว่า Apache) ไฟล์กำหนดค่า ไฟล์ดังกล่าวมีประสิทธิภาพอย่างมากและสามารถใช้เพื่อช่วยควบคุมหลาย ๆ แง่มุมของหน้าเว็บที่ให้บริการโดย Apache ซึ่งรวมถึงสิ่งต่าง ๆ เช่นการจัดการการเปลี่ยนเส้นทางการป้องกันฮอตลิงก์และอื่น ๆ

ไฟล์. htaccess อยู่ที่ไหน

ควรมีไฟล์. htaccess หนึ่งไฟล์ในโฟลเดอร์รูทโฮสต์เว็บของคุณ - โฟลเดอร์ (ปกติ / public_html หรือ / www) ที่เก็บเนื้อหาของเว็บไซต์ของคุณ

คุณสามารถมีไฟล์. htaccess ได้มากกว่าหนึ่งไฟล์ในบัญชีโฮสติ้งของคุณ แต่ไดเรกทอรีหรือโฟลเดอร์แต่ละรายการสามารถมีได้เพียงไฟล์เดียวเท่านั้น ตัวอย่างเช่นคุณสามารถมีไฟล์. htaccess แยกต่างหากในโฟลเดอร์รูทของคุณและอีกไฟล์หนึ่งในโฟลเดอร์ย่อย สิ่งนี้อนุญาตให้คุณตั้งค่าลักษณะการทำงานของเซิร์ฟเวอร์ที่แตกต่างกันตามโครงสร้างไดเรกทอรี

ไฟล์. htaccess นั้นมีประสิทธิภาพ แต่สามารถเข้าถึงและแก้ไขได้หากไม่ได้รับการป้องกันอย่างถูกต้อง ตรวจสอบให้แน่ใจว่าคุณทำตามขั้นตอนเพื่อป้องกันการเข้าถึงไฟล์นี้

ฉันหาไฟล์. htaccess ของฉันไม่พบ

ก่อนอื่น. htaccess เป็นไฟล์ Apache ซึ่งหมายความว่าคุณสามารถค้นหาได้ในเซิร์ฟเวอร์ Apache เท่านั้น * หยุดการค้นหาว่าโฮสต์ของคุณกำลังทำงานบนซอฟต์แวร์เว็บเซิร์ฟเวอร์อื่น (เช่น Microsoft IIS หรือ NGINX)

ชื่อไฟล์ที่ขึ้นต้นด้วยจุดมักเป็นไฟล์ที่ซ่อนอยู่ ซึ่งหมายความว่าโดยทั่วไปจะไม่สามารถมองเห็นได้ตามค่าเริ่มต้น

หากต้องการดูไฟล์นี้เพียงเปิด“ แสดงไฟล์ที่ซ่อน” ในไคลเอนต์ FTP ของคุณหรือจัดการไฟล์โฮสติ้ง (ดูภาพด้านล่าง)

ค้นหาไฟล์. htaccess - วิธีแสดงไฟล์ที่ซ่อนในตัวจัดการไฟล์ cPanel
ตัวอย่าง - แสดงไฟล์ที่ซ่อนของคุณโดยเปิดใช้งานตัวเลือกนี้ใน cPanel File Manager

คุณอาจรู้สึกว่าไฟล์. htaccess เป็นความไม่สะดวกเนื่องจากต้องมีการเข้ารหัส แต่ให้พิจารณาผู้ใช้ที่ต้องการสร้างพฤติกรรมเซิร์ฟเวอร์เดียวกันในหลาย ๆ ไซต์ สิ่งที่บุคคลนั้นจะต้องทำคือทำซ้ำไฟล์. htaccess

ไฟล์. htaccess เป็นไฟล์การกำหนดค่าเซิร์ฟเวอร์และเนื่องจากไฟล์เหล่านั้นจัดการกับพฤติกรรมโดยตรงจึงไม่จำเป็นต้องมีบางสิ่งที่จะเรียกใช้ในแต่ละครั้งที่มีการร้องขอ ดังนั้นจึงเป็นทรัพยากรที่น้อยมากเช่นการใช้ปลั๊กอินตัวอย่างเช่น

* หมายเหตุ: Apache มี เกี่ยวกับอัตราการตลาด 30% อ้างอิงจากรายงาน W3Techs แบรนด์โฮสติ้งที่ได้รับความนิยมสูงสุดที่เอ่ยถึงที่ WHSR - A2 Hosting, BlueHost, GreenGeeks, Hostinger, InMotion Hosting, SiteGround; ขับเคลื่อนโดย Apache

. htaccess คืออะไร

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

ตัวอย่างเช่นตามคำแนะนำที่มีอยู่ในไฟล์ Apache สามารถโหลดหน้าข้อผิดพลาดที่กำหนดเองโดยอัตโนมัติหากผู้เยี่ยมชมเว็บไซต์ของคุณกำลังมองหาทรัพยากรที่ไม่มีอยู่ ข้อผิดพลาดแต่ละประเภทมีรหัสของตัวเองและแต่ละประเภทสามารถถูกเปลี่ยนเส้นทางทีละรายการ

มีรายการมากมายที่สามารถทำได้โดยใช้ไฟล์. htaccess และวันนี้ฉันจะแบ่งปันสิ่งเหล่านี้กับคุณ

1 การจัดการหน้าข้อผิดพลาดที่กำหนดเอง

คำอธิบายภาพ: ตัวอย่างหน้าข้อผิดพลาด 404 ที่กำหนดเองอย่างสร้างสรรค์

เมื่อปล่อยไว้ที่การตั้งค่าเริ่มต้นซอฟต์แวร์เว็บเซิร์ฟเวอร์ส่วนใหญ่จะส่งหน้าข้อผิดพลาดที่ดูเยือกเย็นมากแก่ผู้เยี่ยมชมของคุณ หากคุณต้องการแสดงหน้าข้อผิดพลาดที่เป็นมิตรกับผู้ใช้ (หรืออย่างน้อยที่สุด, แสดงได้) คุณจะต้องใช้การจัดการเอกสารข้อผิดพลาดที่กำหนดเองในไฟล์. htaccess ของคุณ

สมมติว่าคุณได้ออกแบบ หน้าข้อผิดพลาด 404 ที่กำหนดเอง เรียกว่า“ 404.html” และบันทึกลงในโฟลเดอร์ย่อยในสารบบเว็บของคุณชื่อ“ error_pages” ใช้รหัสบรรทัดต่อไปนี้ใน. htaccess คุณสามารถเรียกหน้านั้นขึ้นมาเมื่อใดก็ตามที่ผู้เข้าชมเกิดข้อผิดพลาด 404

ErrorDocument 404 /error_pages/404.html

การใช้เทคนิคนี้คุณสามารถบันทึกสำเนาที่กำหนดเองของแต่ละประเภทข้อผิดพลาดที่คุณต้องการบัญชีและตั้งค่าให้เรียกใช้โดยรวมถึงรหัสที่จำเป็นในไฟล์. htaccess ของคุณ พบมากที่สุด รหัสข้อผิดพลาด รวมถึง;

  • 400 - คำขอไม่ถูกต้อง
  • 403 - ถูกห้าม
  • 404 - ไม่พบไฟล์
  • 500 - ข้อผิดพลาดเซิร์ฟเวอร์ภายใน
  • 503 - บริการไม่พร้อมใช้งาน

2 จัดการการเปลี่ยนเส้นทาง

อาจมีบางครั้งที่คุณต้องการตั้งค่าการเปลี่ยนเส้นทางแบบครอบคลุมเพื่อให้คุณสามารถนำผู้เยี่ยมชมไปยังหน้าเว็บที่ต้องการโดยที่พวกเขาไม่รู้ ตัวอย่างเช่นถ้าคุณใช้ HTTP ในตอนแรก แต่มีมาตั้งแต่นั้นเป็นต้นมา ติดตั้ง SSL และย้ายไปที่ HTTPSคุณต้องการให้ผู้ใช้ทุกคนใช้เวอร์ชัน HTTPS ของเว็บไซต์ของคุณ

ในสถานการณ์นี้สิ่งที่คุณต้องทำคือใช้ประโยชน์จากกฎการเขียนซ้ำ

RewriteEngine เมื่อ RewriteCond% {SERVER_PORT} 80 RewriteRule ^ (. *) $ https://www.yourdomain.com/$1 [R, L]

รหัสนี้สามารถแก้ไขได้ตามความต้องการของคุณ ตัวอย่างเช่นหากคุณต้องการเปลี่ยนเส้นทางผู้ใช้จากโดเมนเก่าของคุณไปยังโดเมนใหม่แทนคุณจะต้องใช้

RewriteEngine เมื่อ RewriteCond% {HTTP_HOST} ^ olddomain.com [NC หรือ OR] RewriteCond% {HTTP_HOST} ^ www.olddomain.com [NC] RewriteRule ^ (. *) $ http://newdomain.com/$1 [L, R = 301, NC]

มีหลายวิธีที่คุณสามารถตั้งค่าการเปลี่ยนเส้นทางได้ รายละเอียดของ ไวยากรณ์สำหรับเขียนซ้ำ สามารถพบได้ใน เอกสาร Apache หน้า

หนึ่งในสิ่งที่มีประโยชน์ที่สุดที่คุณสามารถเปลี่ยนเส้นทางได้คือการช่วยแนะนำเครื่องมือค้นหาไปยังหน้าเว็บที่คุณย้ายไป โดยปกติแล้วเสิร์ชเอ็นจิ้นจะจัดทำดัชนีลิงก์และหากพวกเขาไม่สามารถหาหน้าที่ถูกต้องพวกเขาจะถือว่าเนื้อหาหายไป

ด้วยการใช้การเปลี่ยนเส้นทางคุณสามารถย้ายเนื้อหาได้อย่างง่ายดายและแจ้งให้โปรแกรมรวบรวมข้อมูลเว็บทราบตำแหน่งที่จะค้นหาเนื้อหาที่มีการจัดทำดัชนีไว้ก่อนหน้านี้ ในการทำเช่นนั้นให้ใช้;

เปลี่ยนเส้นทาง 301 / archive / / entries-entries /

คำสั่ง 301 ไม่เพียง แต่ช่วยให้ผู้ใช้สามารถเข้าถึงเนื้อหาเก่าได้อย่างราบรื่น แต่ยังทำหน้าที่เป็นคำสั่งสำหรับซอฟต์แวร์รวบรวมข้อมูลเว็บที่เนื้อหาถูกย้ายอย่างถาวร สิ่งนี้จะช่วยพวกเขาโดยอนุญาตให้พวกเขาสร้างดัชนีลิงก์ใหม่ได้อย่างรวดเร็ว

2 เพิ่มความปลอดภัยของเว็บไซต์ของคุณ

ฉันพบว่าเจ้าของเว็บไซต์ใหม่จำนวนมากมักจะพึ่งพามากเกินไป เครื่องมือภายนอกเพื่อเพิ่มความปลอดภัยของเว็บไซต์. แม้ว่าจะเป็นความจริงที่ว่ามีแอปพลิเคชั่นที่ยอดเยี่ยมอยู่มากมายคุณสามารถเริ่มต้นด้วยพื้นฐานในไฟล์. htaccess ของคุณ

ไดเรกทอรีป้องกันรหัสผ่าน

ในการทำเช่นนี้คุณจะต้องมีสองไฟล์คือ. htaccess และ. htpasswd ไฟล์. htpasswd มีการเข้ารหัสดังนั้นให้ใช้เครื่องมือเช่น เครื่องกำเนิด Htpasswd เพื่อสร้างไฟล์ ไฟล์. htaccess ควรมีรหัสนี้

AuthType พื้นฐาน AuthName "พื้นที่ป้องกันรหัสผ่าน" AuthUserFile /path/to/.htpasswd ต้องการผู้ใช้ที่ถูกต้อง

ปิดใช้งานการเรียกดูไดเรกทอรี

นี่เป็นหนึ่งในวิธีที่ง่ายที่สุดที่จะทำและต้องการเพียงโค้ดสองบรรทัดที่จะรวมไว้ในไฟล์. htaccess ของคุณ

# ปิดใช้งานตัวเลือกการสืบค้นไดเรกทอรี - ดัชนี

บล็อก IP เฉพาะ

หากต้องการบล็อก IP แต่ละรายการไม่ให้เยี่ยมชมไซต์ของคุณให้เพิ่มรหัสต่อไปนี้ในไฟล์. htaccess ของคุณ

ปฏิเสธจาก XXX.XXX.XXX.XXX

โดยที่คุณแทนที่ XXX ด้วยค่า IP ตัวเลข มีรูปแบบของรหัสนี้ที่สามารถใช้เพื่อบล็อกช่วงของที่อยู่ IP หรือหลายที่อยู่ IP ได้เช่นกัน

3 การป้องกันลิงค์ด่วน

Hotlinking เกิดขึ้นเมื่อเว็บไซต์อื่นเชื่อมโยงไปยังรูปภาพที่คุณกำลังโฮสต์ สิ่งนี้ไม่เป็นที่ต้องการเนื่องจากใช้ทั้งพื้นที่ของคุณและแบนด์วิดท์ หากต้องการป้องกันการเชื่อมโยงรูปภาพให้เพิ่มสิ่งต่อไปนี้ในไฟล์. htaccess ของคุณ

RewriteEngine บน RewriteCond% {HTTP_REFERER}! ^ $ RewriteCond% {HTTP_REFERER}! ^ ^ http: // (www \.) example.com/.*$ [NC] RewriteRule \. (gif | jpg | jpeg | bmp) $ - [F]

บรรทัดสุดท้ายของรหัสนั้นคือที่ที่คุณระบุไฟล์ที่คุณต้องการปิดกั้นเว็บไซต์จากการเชื่อมโยง เป็นพื้นแนะนำให้ Apache บล็อกการเชื่อมโยงทั้งหมดไปยังไฟล์ที่ไม่ได้มาจากชื่อโดเมน http://www.example.com/

หลายคนที่ hotlink มักจะไม่ตรวจสอบการโพสต์ของพวกเขาอีกครั้งดังนั้นหากคุณต้องการทำให้ลำบากใจจริงๆคุณสามารถแสดงข้อความที่กำหนดเองไปยังเว็บไซต์ที่พยายามเชื่อมโยง

RewriteEngine บน RewriteCond% {HTTP_REFERER}! ^ $ RewriteCond% {HTTP_REFERER}! ^ ^ http: // (www \.) example.com/.*$ [NC] RewriteRule \. (gif | jpg) $ http: // www .example.com / stopstealing.gif [R, L]

ซึ่งสามารถแสดงรูปภาพสำรองบนไซต์ที่ละเมิดเช่นนี้:

4 การปกป้องไฟล์. htaccess

ถึงตอนนี้คุณก็รู้แล้วว่าเครื่องมือ. htaccess มีประโยชน์อย่างไร เมื่อคุณได้ตระหนักแล้วถึงเวลาที่คุณจะต้องปกป้องไฟล์ที่มีค่านี้! หากคุณใช้ไฟล์. htpasswd คุณอาจต้องป้องกันสิ่งนั้นด้วยและวิธีการทำทั้งสองอย่างคือ

# ปกป้อง. htaccess และ. htpasswd <ไฟล์ ~ "^. * \. ([Hh] [Tt])"> คำสั่งอนุญาตให้ปฏิเสธจากทั้งหมดที่พอใจ </Files>

โปรดทราบว่าในเซิร์ฟเวอร์ที่ปลอดภัยที่สุดไฟล์เหล่านี้ได้รับการป้องกันอยู่แล้ว ก่อนที่คุณจะเพิ่มรหัสนี้ให้ตรวจสอบเพื่อดูว่าคุณสามารถเข้าถึงไฟล์ในหน้าต่างเบราว์เซอร์ได้หรือไม่ เพียงพิมพ์ URL และเพิ่ม /.htaccess ไว้ด้านหลังเพื่อดูว่าคุณสามารถดูไฟล์ได้หรือไม่ หากคุณทำไม่ได้คุณอาจจะได้รับข้อความแสดงข้อผิดพลาด

5 การตั้งค่าโซนเวลาเซิร์ฟเวอร์ของคุณ

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

SetEnv TZ อเมริกา / yourtimezone

มีรายการของโซนเวลาจำนวนมากที่มีอยู่และคุณสามารถค้นหาการจับคู่ที่ใกล้เคียงที่สุดกับคุณได้โดยการอ้างถึง รายการของโซนเวลาที่รองรับ.

ยอมรับพลังของ. htaccess

ตัวอย่างที่ฉันได้แสดงไว้ที่นี่เป็นเพียงส่วนปลายของภูเขาน้ำแข็งขนาดใหญ่มากเท่านั้น ช่วยให้ผู้ใช้เว็บโฮสติ้งมีพลังเหนือกว่าเว็บไซต์ของตนมากกว่าปกติจะได้รับอนุญาตผ่านแผงควบคุมและมอบเครื่องมือที่หลากหลายในการทำงานกับพวกเขา

การเรียนรู้ที่จะใช้รหัสเป็นเพียงขั้นตอนเดียวกับพลังของ Google และสิ่งที่ดีที่สุดเกี่ยวกับเรื่องนี้ก็คือคุณจะต้องเลือกและเรียนรู้สิ่งที่คุณต้องใช้

เกี่ยวกับ Jerry Low

ผู้ก่อตั้ง WebHostingSecretRevealed.net (WHSR) - การตรวจสอบโฮสต์ที่เชื่อถือได้และใช้งานโดยผู้ใช้ของ 100,000 ประสบการณ์มากกว่า 15 ปีในเว็บโฮสติ้งการตลาดพันธมิตรและ SEO ผู้ร่วมให้ข้อมูลแก่ ProBlogger.net, Business.com, SocialMediaToday.com และอีกมากมาย