ไฟล์ .htaccess (หรือ "ไฟล์การกำหนดค่าแบบกระจาย") เป็นวิธีในการเปลี่ยนแปลงการกำหนดค่าสำหรับไดเร็กทอรี เช่น วางไฟล์ที่มีคำสั่งตั้งแต่หนึ่งคำสั่งขึ้นไปในไดเร็กทอรีเอกสารเฉพาะเพื่อให้มีผลกับไดเร็กทอรีนั้นและไดเร็กทอรีย่อยทั้งหมด คำสั่งที่สามารถใช้ได้ถูกจำกัด ผู้ดูแลระบบสามารถตั้งค่าผ่านคำสั่ง AllowOverride ของ Apache
- คำสั่งในไดเรกทอรีย่อยจะแทนที่คำสั่งในไดเรกทอรีระดับสูงกว่าหรือในไฟล์การกำหนดค่าเซิร์ฟเวอร์หลัก
- .htaccess ต้องอัปโหลดในโหมด ASCII โดยควรตั้งค่าสิทธิ์เป็น 644
ตำแหน่งของเอกสารข้อผิดพลาด
รหัสส่งคืนข้อผิดพลาดคำขอไคลเอ็นต์ทั่วไป:
401 ต้องได้รับอนุญาต
403 สิ่งต้องห้าม
404 ไม่พบ
ไม่อนุญาตให้ใช้วิธี 405
408 คำขอหมดเวลา
411 ต้องมีความยาวเนื้อหา
412 เงื่อนไขเบื้องต้นล้มเหลว
413 คำขอเอนทิตียาวเกินไป
414 URI คำขอยาวเกินไป
415 ประเภทสื่อที่ไม่รองรับ
รหัสส่งคืนข้อผิดพลาดทั่วไปของเซิร์ฟเวอร์:
500 ข้อผิดพลาดเซิร์ฟเวอร์ภายใน
ผู้ใช้สามารถใช้ .htaccess เพื่อระบุหน้าเตือนข้อผิดพลาดที่สร้างไว้ล่วงหน้าของตนเองได้ โดยทั่วไป ผู้ใช้สามารถตั้งค่าไดเร็กทอรีพิเศษ เช่น ข้อผิดพลาด เพื่อวางเพจเหล่านี้ได้ จากนั้นเพิ่มคำแนะนำต่อไปนี้ใน .htaccess:
ข้อผิดพลาดเอกสาร 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html
หนึ่งคำสั่งต่อบรรทัด ความหมายของคำสั่งแรกข้างต้นคือ 404 นั่นคือเมื่อไม่พบเอกสารที่ต้องการ จะต้องแสดงเพจเป็นเพจ notfound.html ในไดเร็กทอรี /errors ไม่ใช่เรื่องยากที่จะเห็นว่ารูปแบบไวยากรณ์คือ:
ErrorDocument รหัสข้อผิดพลาด/ชื่อไดเรกทอรี/ชื่อไฟล์.extension
หากมีข้อมูลน้อยมากก็ไม่จำเป็นต้องสร้างหน้าพิเศษและใช้หมายเลข HTML โดยตรงในคำสั่ง เช่น ตัวอย่างต่อไปนี้:
ข้อผิดพลาดเอกสาร 401 "
คุณไม่ได้รับอนุญาตให้เข้าถึงหน้านี้ โปรดยอมแพ้!
-
การป้องกันรหัสผ่านในการเข้าถึงเอกสาร
หากต้องการใช้ .htaccess เพื่อตั้งค่าผู้ใช้ที่มีสิทธิ์เข้าถึงและรหัสผ่านที่เกี่ยวข้องสำหรับเอกสารในไดเร็กทอรี สิ่งแรกที่ต้องทำคือสร้างเอกสารข้อความ .htpasswd เช่น:
เจิ้ง:y4E7Ep8e7EYV
รหัสผ่านที่นี่ได้รับการเข้ารหัส และผู้ใช้สามารถค้นหาเครื่องมือบางอย่างในการเข้ารหัสรหัสผ่านให้เป็นการเข้ารหัสที่ .htaccess รองรับ ไม่ควรวางเอกสารนี้ไว้ในไดเร็กทอรี www ขอแนะนำให้วางไว้นอกเอกสารไดเร็กทอรีราก www ซึ่งจะปลอดภัยกว่า
ด้วยเอกสารผู้ใช้ที่ได้รับอนุญาต คุณสามารถเพิ่มคำแนะนำต่อไปนี้ใน .htaccess:
ไดเรกทอรีเซิร์ฟเวอร์สำหรับ AuthUserFile .htpasswd
AuthGroupFile /dev/null (ไดเร็กทอรีที่ต้องการการเข้าถึงที่ได้รับอนุญาต)
AuthName ใส่รหัสผ่าน
AuthType Basic (ประเภทการอนุญาต)
ต้องการผู้ใช้ wsabstract (ผู้ใช้ได้รับอนุญาตให้เข้าถึง หากคุณต้องการให้ผู้ใช้ทั้งหมดในตารางได้รับอนุญาต คุณสามารถใช้ need valid-user ได้)
หมายเหตุ วงเล็บคือความคิดเห็นที่คุณเพิ่มเมื่อศึกษา
ปฏิเสธการเข้าถึงจาก IP
หากฉันไม่ต้องการให้หน่วยงานรัฐบาลบางแห่งเข้าถึงเนื้อหาในเว็บไซต์ของฉัน ฉันสามารถแยกหน่วยงานเหล่านั้นออกได้โดยการเพิ่ม IP ของหน่วยงานใน .htaccess
ตัวอย่างเช่น:
คำสั่งอนุญาต, ปฏิเสธ
ปฏิเสธจาก 210.10.56.32
ปฏิเสธตั้งแต่ 219.5.45
อนุญาตจากทั้งหมด
บรรทัดที่สองปฏิเสธ IP ที่แน่นอน และบรรทัดที่สามปฏิเสธช่วง IP ที่แน่นอน นั่นคือ 219.5.45.0~219.2.45.255
ต้องการที่จะปฏิเสธทุกคน? เพียงใช้การปฏิเสธจากทั้งหมด ไม่เพียงแต่ IP เท่านั้น แต่ยังสามารถใช้ชื่อโดเมนในการตั้งค่าได้อีกด้วย
ปกป้องเอกสาร .htaccess
เมื่อใช้ .htaccess เพื่อป้องกันไดเรกทอรีด้วยรหัสผ่าน จะมีเส้นทางไปยังไฟล์รหัสผ่าน ด้วยเหตุผลด้านความปลอดภัย จำเป็นต้องปกป้อง .htaccess เพื่อไม่ให้ผู้อื่นเห็นเนื้อหาในนั้น แม้ว่าจะสามารถทำได้ด้วยวิธีอื่น เช่น การอนุญาตในเอกสาร อย่างไรก็ตาม .htaccess เองก็สามารถทำได้เช่นกัน เพียงเพิ่มคำสั่งต่อไปนี้:
คำสั่งอนุญาต, ปฏิเสธ
ปฏิเสธจากทั้งหมด
การเปลี่ยนเส้นทาง URL
เราอาจออกแบบเว็บไซต์ใหม่ ย้ายเอกสาร หรือเปลี่ยนไดเร็กทอรี ในขณะนี้ การเข้าชมจากเครื่องมือค้นหาหรือลิงก์จากเว็บไซต์อื่นอาจผิดพลาดได้ ในกรณีนี้ คุณสามารถใช้คำสั่งต่อไปนี้เพื่อเปลี่ยนเส้นทาง URL เก่าไปยังที่อยู่ใหม่โดยอัตโนมัติ:
เปลี่ยนเส้นทาง / ไดเร็กทอรีเก่า / ที่อยู่ชื่อเอกสารเก่าของเอกสารใหม่
หรือเปลี่ยนเส้นทางไดเรกทอรีทั้งหมด:
เปลี่ยนเส้นทางไดเร็กทอรีเก่าไดเร็กทอรีใหม่
เปลี่ยนไฟล์โฮมเพจเริ่มต้น
โดยทั่วไป ชื่อไฟล์โฮมเพจเริ่มต้นจะประกอบด้วยค่าเริ่มต้น ดัชนี ฯลฯ อย่างไรก็ตาม บางครั้งไม่มีไฟล์เริ่มต้นในไดเร็กทอรี แต่มีชื่อไฟล์เฉพาะ เช่น pmwiki.php ใน pmwiki ในกรณีนี้ จะเป็นเรื่องยากสำหรับผู้ใช้ในการจำชื่อไฟล์เพื่อเข้าถึง ชื่อไฟล์เริ่มต้นใหม่สามารถตั้งค่าได้อย่างง่ายดายใน .htaccess:
DirectoryIndex ชื่อไฟล์เริ่มต้นใหม่
นอกจากนี้ ยังสามารถแสดงรายการได้หลายรายการ โดยมีลำดับที่ระบุลำดับความสำคัญระหว่างรายการเหล่านั้น เช่น:
DirectoryIndex filename.html index.cgi index.pl default.htm
ป้องกันฮอตลิงค์
หากคุณไม่ชอบให้ผู้อื่นลิงก์รูปภาพและเอกสารของตนเองบนหน้าเว็บ คุณสามารถทำได้โดยใช้คำสั่ง htaccess
คำแนะนำที่จำเป็นมีดังนี้:
เขียนใหม่เครื่องยนต์บน
เขียนใหม่Cond% !^$
RewriteCond % !^http://(www.)?mydomain.com...*$ [NC]
เขียนกฎใหม่ .(gif|jpg)$ - [F]
หากคุณคิดว่าการเปิดช่องรับแสงบนหน้าของคนอื่นดูไม่ดี คุณสามารถใช้รูปภาพแทนได้:
เขียนใหม่เครื่องยนต์บน
เขียนใหม่Cond% !^$
RewriteCond % !^http://(www.)?mydomain.com...*$ [NC]
RewriteRule .(gif|jpg)$ http://www.mydomain.com/replacement ชื่อไฟล์รูปภาพ [R,L]
ที่มา:http://wsabstract.com/howt...