พื้นฐานของ. htaccess

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

การทำความเข้าใจไฟล์. htaccess ของเซิร์ฟเวอร์เป็นองค์ประกอบสำคัญของการออกแบบและพัฒนาเว็บ

เว็บโฮสติ้งมือสมัครเล่นและนักพัฒนาเว็บรายใหม่ ๆ ถือว่าส่วนที่สำคัญที่สุดของการติดตั้งเซิร์ฟเวอร์เป็นซอฟต์แวร์ที่ติดตั้งไว้ พวกเขา feverishly ติดตั้งโปรแกรมประยุกต์ที่ใช้ ASP หรือ PHP ของพวกเขาในความหวังของการสร้างเนื้อหาขั้นสูงที่ถูกควบคุมโดยซอฟต์แวร์ที่นิยมและเซลล์ฐานข้อมูลที่กว้างขวางและตาราง แต่ท่ามกลางความวุ่นวายของกิจกรรมนี้นักพัฒนาเกือบทุกคนแรกละเว้นไฟล์ที่มีความสำคัญและมีประสิทธิภาพมากที่สุดในเซิร์ฟเวอร์ ไฟล์ดังกล่าวเรียกว่าไฟล์ ".htaccess" และจะควบคุมข้อความผิดพลาดทุกรูปแบบให้กับหน้าเว็บที่มีการป้องกันด้วยรหัสผ่านโครงสร้าง permalink แก่ผู้ใช้ที่ถูกบล็อกซึ่งไม่สามารถดูเนื้อหาของไซต์ได้

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

รหัสผ่านป้องกันไดเรกทอรีคือ Snap ที่มีไฟล์. htaccess

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

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

AuthUserFile /public_html/secure/files/.htpasswd
AuthGroupFile / dev / null
AuthName EnterPassword
AuthType Basic
ต้องการผู้ใช้ secureUser

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

ในไฟล์ ".htpasswd" ที่จะสร้างขึ้นในไดเร็กทอรีที่มีการป้องกันผู้ใช้จะต้องเพิ่มบรรทัดเดียวเท่านั้น รูปแบบเป็นเรื่องง่าย ผู้ใช้และรหัสผ่านทุกชุดจะถูกคั่นด้วยเครื่องหมาย Colons ซึ่งหมายความว่าพวกเขาเพียงแค่เพิ่ม "ผู้ใช้: รหัสผ่าน" ลงในไฟล์ ในกรณีนี้จะเป็น "secureUser: secureirectorypassword1" เป็นตัวอย่าง รหัสนี้จะกำหนดรหัสเข้าถึงและชื่อผู้ใช้ทั้งหมดที่เป็นไปได้ ผู้ดูแลระบบไซต์สามารถรวมผู้ใช้และรหัสผ่านหลายรายไว้ในรายการนี้ได้ตราบเท่าที่ผู้ใช้ต้องการลบไฟล์ ".htpasswd" ที่ต้องการ "user secureUser" หรืออีกวิธีหนึ่งคือสามารถกำหนดรหัสผ่านหลาย ๆ รหัสสำหรับชื่อผู้ใช้เดียวกันได้ขณะเดียวกันก็รักษาบรรทัดรหัสไว้เพื่อให้มั่นใจว่าสามารถยกเลิกการเข้าถึงจากบุคคลหรือกลุ่มบางกลุ่มได้ตลอดเวลาหากมีการลบรหัสผ่านที่ถูกต้องออกจากไฟล์ ".htpasswd"

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับปัญหานี้โปรดอ่าน: ใช้. htpasswd กับบัญชี Linux Shared Hosting ของคุณ.

การกำหนดลิงก์ที่น่าจดจำกับเนื้อหาเว็บไซต์และหน้าเว็บแบบคงที่

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

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

RewriteEngine เปิด
RewriteBase /
RewriteCond% {REQUEST_FILENAME}! f-
RewriteCond% {REQUEST_FILENAME}-d
RewriteRule index.php / [L]

อีกครั้งคุณสามารถดูโครงสร้างของ ".htaccess" คำแนะนำในการเขียนโปรแกรมไฟล์ได้โดยง่าย โค้ดง่ายๆเหล่านี้บอกให้เซิร์ฟเวอร์ใช้ไฟล์ WordPress "index.php" เป็นฐานสำหรับ URL ทั้งหมดที่มาจากโซลูชันซอฟต์แวร์การจัดการเนื้อหา การใช้ไฟล์ดังกล่าวเป็นฐานและเขียนชื่อรายการเป็นพร็อพเพอร์ตี้ URL ที่เขียนใหม่จะรวมข้อความค้นหาฐานข้อมูลที่มีสิทธิ์เป็นไฟล์เพื่อสร้าง URL ที่ "เป็นมิตร" ขณะนี้การแก้ไขไฟล์ ".htaccess" เพื่อเขียน URL ใหม่นั้นเป็นวิธีการสร้าง URL friendlier จากโซลูชันซอฟต์แวร์การจัดการเนื้อหา PHP และ ASP แบบชั้นนำ

นำเครื่องมือค้นหาไปยังเนื้อหาที่เพิ่งย้ายใหม่ในพื้นที่หรือจากระยะไกล

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

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

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

นี่เป็นวิธีที่ยอดเยี่ยมในการย้ายไปยังชื่อโดเมนใหม่โดยไม่สูญเสียลูกค้าเช่นกัน ไฟล์ ".htaccess" บนเซิร์ฟเวอร์เครื่องเก่าสามารถใช้เพื่อชี้ไปยังเนื้อหาที่ชื่อโดเมนใหม่ได้โดยไม่ต้องเปลี่ยนบรรทัดของรหัสที่แสดงด้านบนเพียงเล็กน้อย แทนที่จะชี้ไปยังเส้นทางสัมพัทธ์สองเส้นทางบนเซิร์ฟเวอร์เดียวกันโค้ดการเปลี่ยนเส้นทาง 301 ในกรณีนี้จะมีลักษณะดังนี้:

เปลี่ยนเส้นทาง 301 / http://www.your-domain-name.com

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

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

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

ErrorDocument 404 /404.html

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

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

เมื่อ All Else ล้มเหลวผู้ใช้บ้านที่มีรหัสไม่กี่บรรทัด

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

เพื่อรักษาความสมบูรณ์ของไซต์และตรวจสอบให้แน่ใจว่าผู้อ่านคนอื่น ๆ ไม่ได้โยกย้ายไปยังเว็บไซต์อื่น ๆ ด้วยความผิดหวังอย่างแท้จริงกับแอปเปิ้ลที่ไม่ดีเพียงใดไฟล์ ".htaccess" อนุญาตให้มีการห้ามใช้ IP แอดเดรสเฉพาะหรือช่วงทั้งหมด (หรือ "บล็อก") ที่อยู่ IP ซึ่งหมายความว่าทั้งประเทศสามารถถูกห้ามได้ผู้ให้บริการอินเทอร์เน็ตทั้งหมดสามารถถูกแบนได้หรือทั้งรัฐชุมชนหรือองค์กรต่างๆสามารถถูกบังคับให้ไปอ่านที่อื่นเพื่ออ่านเนื้อหารายวันและก่อให้เกิดปัญหาได้ เมื่อใช้ในไฟล์ ".htaccess" ของไซต์ขั้นตอนการห้ามผู้ใช้มีลักษณะดังนี้:

ให้จากทั้งหมด
ปฏิเสธจากฮิต
ปฏิเสธจากฮิต

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

โอบกอดไฟล์. htaccess และใช้อำนาจบางอย่างเหนือฟังก์ชันไซต์

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

บทความโดย Jerry Low

พ่อ Geek, ข้อมูลขี้ยา SEO, นักลงทุนและผู้ก่อตั้ง Web Hosting เปิดเผยความลับ เจอร์รี่ได้สร้างสินทรัพย์ทางอินเทอร์เน็ตและทำเงินออนไลน์ตั้งแต่ 2004 เขาชอบการทำงอมแงมและพยายามหาอาหารใหม่