จากคู่มือนี้ คุณจะสามารถเรียนรู้เกี่ยวกับไฟล์ .htaccess และฟังก์ชันต่างๆ ของไฟล์ และใช้ไฟล์เหล่านี้เพื่อเพิ่มประสิทธิภาพเว็บไซต์ของคุณ แม้ว่า .htaccess จะเป็นเพียงไฟล์ แต่ก็สามารถเปลี่ยนการตั้งค่าของเซิร์ฟเวอร์ได้ ทำให้คุณทำสิ่งต่างๆ ได้หลายอย่าง แต่ฟีเจอร์ยอดนิยมที่สุดคือคุณสามารถสร้างหน้า "ข้อผิดพลาด 404" แบบกำหนดเองได้ .htaccess นั้นใช้งานได้ไม่ยาก ท้ายที่สุดแล้ว มันเป็นเพียงเรื่องของการเพิ่มคำแนะนำง่ายๆ เพียงไม่กี่อย่างลงในเอกสารข้อความ
ก่อนอื่นคุณต้องพิจารณาว่าโฮสต์รองรับหรือไม่
นี่อาจเป็นเรื่องยากที่จะตอบด้วยคำตอบง่ายๆ โฮสต์จำนวนมากรองรับ .htaccess แต่ไม่ได้ระบุไว้โดยเฉพาะ และโฮสต์ประเภทอื่นๆ อีกหลายประเภทก็สามารถใช้งานได้ แต่ไม่อนุญาตให้ผู้ใช้ใช้ .htaccess โดยทั่วไป หากโฮสต์ของคุณใช้ระบบ Unix หรือ Linux หรือเว็บเซิร์ฟเวอร์ Apache เวอร์ชันใดก็ตาม ในทางทฤษฎีแล้ว .htaccess จะได้รับการสนับสนุน แม้ว่าผู้ให้บริการโฮสติ้งของคุณอาจไม่อนุญาตให้คุณใช้งานก็ตาม
สัญญาณที่ดีที่จะบอกว่าโฮสต์ของคุณอนุญาต .htaccess หรือไม่ คือ รองรับการป้องกันด้วยรหัสผ่านโฟลเดอร์หรือไม่ เพื่อให้บรรลุฟังก์ชันนี้ ผู้ให้บริการโฮสติ้งจำเป็นต้องใช้ .htaccess (แน่นอนว่า ในบางกรณี แม้ว่าจะมีการป้องกันด้วยรหัสผ่าน แต่ก็ไม่อนุญาตให้คุณใช้ .htaccess) หากคุณไม่แน่ใจว่าโฮสต์ของคุณรองรับ .htaccess หรือไม่ วิธีที่ดีที่สุดคือการอัปโหลดไฟล์ .htaccess ของคุณเองเพื่อดูว่าใช้งานได้หรือไม่ หรือส่งอีเมลโดยตรงไปยังผู้ให้บริการโฮสติ้งของคุณเพื่อขอคำปรึกษา
ไฟล์ .htaccess (หรือ "ไฟล์การกำหนดค่าแบบกระจาย") ในระบบ Apache จัดเตรียมวิธีการในการเปลี่ยนแปลงการกำหนดค่าสำหรับไดเร็กทอรี นั่นคือ วางไฟล์ที่มีหนึ่งคำสั่งขึ้นไปในไดเร็กทอรีเอกสารเฉพาะเพื่อดำเนินการกับไดเร็กทอรีนี้และทั้งหมด ไดเร็กทอรีย่อย ในฐานะผู้ใช้ คำสั่งที่สามารถใช้ได้ถูกจำกัด ผู้ดูแลระบบสามารถตั้งค่าคำสั่งเหล่านั้นผ่านคำสั่ง AllowOverride ของ Apache
คำสั่งในไดเรกทอรีย่อยจะแทนที่คำสั่งในไดเรกทอรีระดับสูงกว่าหรือในไฟล์การกำหนดค่าเซิร์ฟเวอร์หลัก
.htaccess ต้องอัปโหลดในโหมด ASCII โดยควรตั้งค่าสิทธิ์เป็น 644
.htaccess สามารถทำสิ่งต่างๆ ได้มากมาย รวมถึง: การป้องกันด้วยรหัสผ่านของโฟลเดอร์, การเปลี่ยนเส้นทางผู้ใช้โดยอัตโนมัติ, หน้าแสดงข้อผิดพลาดแบบกำหนดเอง, การเปลี่ยนนามสกุลไฟล์ของคุณ, การแบนผู้ใช้จากที่อยู่ IP ที่ระบุ, อนุญาตให้ผู้ใช้จากที่อยู่ IP ที่ระบุเท่านั้น, รายการไดเร็กทอรีที่ถูกแบน และการใช้งาน ไฟล์อื่นๆ ที่เป็นไฟล์ดัชนี
การสร้างไฟล์ .htaccess อาจทำให้เกิดปัญหา การเขียนไฟล์เป็นเรื่องง่าย คุณเพียงแค่ต้องเขียนโค้ดที่เหมาะสมในโปรแกรมแก้ไขข้อความ (เช่น WordPad) ปัญหาที่แท้จริงอาจอยู่ที่การบันทึกไฟล์ เนื่องจาก .htaccess มีชื่อไฟล์แปลกๆ (จริงๆ แล้วไม่มีชื่อไฟล์ มีเพียงนามสกุล 8 ตัวอักษร) และไม่ยอมรับในบางระบบ (เช่น Windows 3.1) ชื่อไฟล์ดังกล่าว บนระบบปฏิบัติการส่วนใหญ่ สิ่งที่คุณต้องทำคือบันทึกเอกสารเป็น: ".htaccess" (รวมถึงเครื่องหมายคำพูดด้วย) หากไม่ได้ผล คุณจะต้องตั้งชื่อเป็นอย่างอื่น (เช่น htaccess.txt) อัปโหลดไปยังเซิร์ฟเวอร์ จากนั้นใช้ซอฟต์แวร์ FTP เพื่อเปลี่ยนชื่อโดยตรง
เตือน
ก่อนที่จะใช้ .htaccess ฉันต้องเตือนคุณก่อน แม้ว่าการใช้ .htaccess บนเซิร์ฟเวอร์ไม่น่าจะเกิดปัญหาใดๆ กับคุณเลย (แต่จะไม่ทำงานหากมีสิ่งผิดปกติเกิดขึ้น) คุณต้องระมัดระวังเป็นพิเศษหากคุณใช้ Microsoft FrontPage Extensions เนื่องจากส่วนขยายของ FrontPage ใช้ .htaccess คุณจึงไม่สามารถแก้ไขได้และเพิ่มข้อมูลของคุณเอง หากคุณต้องการสิ่งนี้จริงๆ (ไม่แนะนำ แต่เป็นไปได้) คุณควรดาวน์โหลดไฟล์ .htaccess จากเซิร์ฟเวอร์ก่อน (ถ้ามี) จากนั้นจึงเพิ่มโค้ดของคุณไว้ข้างหน้าไฟล์
2|การกำหนดค่าของไฟล์ .httacces
การใช้งานครั้งแรกของ .htaccess ที่ฉันจะกล่าวถึงคือหน้าข้อผิดพลาดแบบกำหนดเอง ซึ่งจะช่วยให้คุณมีหน้าข้อผิดพลาดส่วนบุคคลของคุณเอง (เช่น เมื่อไม่พบไฟล์) แทนที่จะเป็นหน้าข้อผิดพลาดที่ผู้ให้บริการของคุณให้ไว้ หรือไม่มีหน้า. ซึ่งจะทำให้เว็บไซต์ของคุณดูเป็นมืออาชีพมากขึ้นเมื่อมีสิ่งผิดปกติเกิดขึ้น คุณยังสามารถใช้สคริปต์เพื่อแจ้งให้คุณทราบเมื่อเกิดข้อผิดพลาด (เช่น ฉันใช้สคริปต์ PHP ของ Free Webmaster Help เพื่อส่งอีเมลถึงฉันโดยอัตโนมัติเมื่อไม่พบหน้าเว็บ)
รหัสข้อผิดพลาดของหน้าใดๆ ที่คุณทราบ (เช่น ไม่พบหน้า 404) สามารถเปลี่ยนเป็นหน้าแบบกำหนดเองได้โดยเพิ่มข้อความต่อไปนี้ลงในไฟล์ .htaccess:
ErrorDocument หมายเลขข้อผิดพลาด /file.html
ตัวอย่างเช่น หากฉันมีไฟล์ nofound.html ในไดเรกทอรีราก ฉันต้องการใช้เป็นหน้าแสดงข้อผิดพลาด 404:
ข้อผิดพลาดเอกสาร 404 /notfound.html
หากไฟล์ไม่อยู่ในไดเร็กทอรีรากของเว็บไซต์ คุณจะต้องตั้งค่าพาธไปที่:
ErrorDocument 500 /errorpages/500.html
ต่อไปนี้เป็นข้อผิดพลาดที่พบบ่อยที่สุดบางส่วน:
รหัสส่งคืนข้อผิดพลาดคำขอไคลเอ็นต์ทั่วไป:
400 - คำขอไม่ถูกต้อง คำขอไม่ถูกต้อง
401 การอนุญาตที่จำเป็นต้องมีการตรวจสอบ
403 สิ่งต้องห้าม
ไม่พบ 404 ไม่พบหน้า
ไม่อนุญาตให้ใช้วิธี 405
408 คำขอหมดเวลา
411 ต้องมีความยาวเนื้อหา
412 เงื่อนไขเบื้องต้นล้มเหลว
413 คำขอเอนทิตียาวเกินไป
414 URI คำขอยาวเกินไป
415 ประเภทสื่อที่ไม่รองรับ
รหัสส่งคืนข้อผิดพลาดทั่วไปของเซิร์ฟเวอร์:
500 ข้อผิดพลาดเซิร์ฟเวอร์ภายใน ข้อผิดพลาดเซิร์ฟเวอร์ภายใน
ถัดไป สิ่งที่คุณต้องทำคือสร้างไฟล์ที่แสดงเมื่อเกิดข้อผิดพลาด จากนั้นอัปโหลดไฟล์เหล่านั้นพร้อมกับ .htaccess
ผู้ใช้สามารถใช้ .htaccess เพื่อระบุหน้าเตือนข้อผิดพลาดที่สร้างไว้ล่วงหน้าของตนเองได้ โดยทั่วไป ผู้ใช้สามารถตั้งค่าไดเร็กทอรีพิเศษ เช่น ข้อผิดพลาด เพื่อวางเพจเหล่านี้ได้ จากนั้นเพิ่มคำแนะนำต่อไปนี้ใน .htaccess:
ข้อผิดพลาดเอกสาร 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html
หนึ่งคำสั่งต่อบรรทัด ความหมายของคำสั่งแรกข้างต้นคือ 404 นั่นคือเมื่อไม่พบเอกสารที่ต้องการ จะต้องแสดงเพจเป็นเพจ notfound.html ในไดเร็กทอรี /errors ไม่ใช่เรื่องยากที่จะเห็นว่ารูปแบบไวยากรณ์คือ:
ErrorDocument รหัสข้อผิดพลาด/ชื่อไดเรกทอรี/ชื่อไฟล์.extension
หากมีข้อมูลน้อยมากก็ไม่จำเป็นต้องสร้างหน้าพิเศษและใช้หมายเลข HTML โดยตรงในคำสั่ง เช่น ตัวอย่างต่อไปนี้:
ErrorDocument 401 "คุณไม่ได้รับอนุญาตให้เข้าถึงหน้านี้ โปรดยอมแพ้!"
บางครั้ง ด้วยเหตุผลบางประการ ไม่มีไฟล์ดัชนีในไดเร็กทอรีของคุณ ซึ่งหมายความว่าเมื่อมีคนพิมพ์เส้นทางไปยังไดเร็กทอรีในแถบที่อยู่ของเบราว์เซอร์ ไฟล์ทั้งหมดในไดเร็กทอรีจะปรากฏขึ้น ซึ่งจะทิ้งร่องรอยไว้บนเว็บไซต์ของคุณ . อันตรายด้านความปลอดภัยลดลง
เพื่อหลีกเลี่ยงปัญหานี้ (โดยไม่ต้องสร้างไฟล์ดัชนีใหม่จำนวนมาก) คุณสามารถป้องกันไม่ให้แสดงรายการไดเรกทอรีได้โดยพิมพ์คำสั่งต่อไปนี้ในเอกสาร .htaccess ของคุณ: ตัวเลือก-ดัชนี
ในบางกรณี คุณอาจต้องการอนุญาตให้ผู้ใช้ที่มี IP บางอย่างเข้าถึงเว็บไซต์ของคุณเท่านั้น (เช่น อนุญาตให้เฉพาะผู้ใช้ที่มี ISP ที่ระบุเท่านั้นให้เข้าสู่ไดเร็กทอรี) หรือคุณอาจต้องการบล็อกที่อยู่ IP บางอย่าง (เช่น โดยต่ำ -ผู้ใช้ระดับจะถูกกันออกจากกระดานข้อความของคุณ) แน่นอนว่าวิธีนี้ใช้ได้เฉพาะเมื่อคุณทราบที่อยู่ IP ที่คุณต้องการบล็อก อย่างไรก็ตาม ผู้ใช้ออนไลน์ส่วนใหญ่ในปัจจุบันใช้ที่อยู่ IP แบบไดนามิก ดังนั้น นี่จึงไม่ใช่วิธีทั่วไปในการจำกัดการใช้งาน
คุณสามารถแบนที่อยู่ IP ได้โดยใช้คำสั่งต่อไปนี้:
ปฏิเสธจาก 000.000.000.000
000.000.000.000 นี่คือที่อยู่ IP ที่ถูกบล็อก หากคุณระบุเพียงไม่กี่รายการ คุณสามารถบล็อกส่วนเครือข่ายทั้งหมดได้ หากคุณป้อน 210.10.56. ที่อยู่ IP ทั้งหมดตั้งแต่ 210.10.56.0 ถึง 210.10.56.255 จะถูกบล็อก
คุณสามารถอนุญาตให้ที่อยู่ IP เข้าถึงเว็บไซต์ได้โดยใช้คำสั่งต่อไปนี้:
อนุญาตจาก 000.000.000.000
ที่อยู่ IP ที่อนุญาตคือ 000.000.000.000 คุณสามารถบล็อกส่วนเครือข่ายทั้งหมดได้เช่นเดียวกับที่คุณบล็อกที่อยู่ IP
หากคุณต้องการป้องกันไม่ให้ทุกคนเข้าถึงไดเร็กทอรี คุณสามารถใช้:
ปฏิเสธจากทั้งหมด
อย่างไรก็ตาม สิ่งนี้จะไม่ส่งผลต่อการใช้เอกสารของสคริปต์ในไดเร็กทอรีนี้
เปลี่ยนไฟล์โฮมเพจเริ่มต้น
โดยทั่วไป ชื่อไฟล์โฮมเพจเริ่มต้นจะประกอบด้วยค่าเริ่มต้น ดัชนี ฯลฯ อย่างไรก็ตาม บางครั้งไม่มีไฟล์เริ่มต้นในไดเร็กทอรี มีแต่ชื่อไฟล์เฉพาะ เช่น w3sky.PHP ใน w3sky ในกรณีนี้ จะเป็นเรื่องยากสำหรับผู้ใช้ในการจำชื่อไฟล์เพื่อเข้าถึง ชื่อไฟล์เริ่มต้นใหม่สามารถตั้งค่าได้อย่างง่ายดายใน .htaccess:
DirectoryIndex ชื่อไฟล์เริ่มต้นใหม่
นอกจากนี้ ยังสามารถแสดงรายการได้หลายรายการ โดยมีลำดับที่ระบุลำดับความสำคัญระหว่างรายการเหล่านั้น เช่น:
DirectoryIndex filename.html index.cgi index.pl default.htm
บางทีคุณอาจไม่ต้องการใช้ index.htm หรือ index.html เป็นไฟล์ดัชนีของไดเร็กทอรีต่อไป ตัวอย่างเช่น หากไซต์ของคุณใช้ไฟล์ PHP คุณอาจต้องการใช้ index.PHP เป็นเอกสารดัชนีของไดเรกทอรี แน่นอน คุณไม่จำเป็นต้องจำกัดอยู่เพียงเอกสาร "ดัชนี" หากคุณต้องการ การใช้ .htaccess คุณยังสามารถตั้งค่า foofoo.balh เป็นเอกสารดัชนีของคุณได้!
ไฟล์ดัชนีที่แทนที่ร่วมกันเหล่านี้สามารถจัดเรียงในรายการได้ และเซิร์ฟเวอร์จะค้นหาจากซ้ายไปขวาเพื่อตรวจสอบว่ามีเอกสารใดอยู่ในไดเร็กทอรีจริง หากไม่พบ ระบบจะแสดงรายชื่อไดเร็กทอรี (เว้นแต่คุณได้ปิดการแสดงรายชื่อไฟล์ไดเร็กทอรี)
DirectoryIndex ดัชนี PHP ดัชนี PHP3 messagebrd.pl index.html ดัชนี htm
หนึ่งในคุณสมบัติที่มีประโยชน์ที่สุดของ .htaccess คือการเปลี่ยนเส้นทางคำขอไปยังเอกสารต่างๆ ภายในหรือภายนอกไซต์เดียวกัน สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อคุณเปลี่ยนชื่อไฟล์แต่ยังต้องการให้ผู้ใช้เข้าถึงไฟล์โดยใช้ที่อยู่เก่า แอปพลิเคชันอื่น (ที่ฉันพบว่ามีประโยชน์) กำลังเปลี่ยนเส้นทางไปยัง URL ที่ยาว ตัวอย่างเช่น ในจดหมายข่าวของฉัน ฉันสามารถใช้ URL ที่สั้นมากเพื่อชี้ไปยังลิงก์พันธมิตรของฉัน นี่คือตัวอย่างของไฟล์การเปลี่ยนเส้นทาง:
เปลี่ยนเส้นทาง /location/from/root/file.ext
http://www.w3sky.com/new/file/123.html
ในตัวอย่างข้างต้น หากต้องการเข้าถึงไฟล์ชื่อ oldfile.html ในไดเร็กทอรี root ให้พิมพ์:
/oldfile.html
หากต้องการเข้าถึงไฟล์ในไดเร็กทอรีย่อยเก่า ให้พิมพ์:
/old/oldfile.html
คุณยังสามารถใช้ .htaccess เพื่อเปลี่ยนเส้นทางไดเรกทอรีเว็บไซต์ทั้งหมดได้ หากคุณมีไดเร็กทอรีชื่อ olddirectory บนเว็บไซต์ของคุณ และคุณได้สร้างเอกสารเดียวกันกับด้านบนบนเว็บไซต์ใหม่ http://www.w3sky.com/newdirectory/ คุณสามารถคัดลอกไฟล์ทั้งหมดในไดเร็กทอรีเก่า ทำการเปลี่ยนเส้นทาง โดยไม่ต้องประกาศทีละคน:
เปลี่ยนเส้นทาง /olddirectory http://www.w3sky.com/newdirectory
ด้วยวิธีนี้ คำขอใดๆ ที่ส่งตรงไปยังไดเร็กทอรี /olddirectory ในไซต์จะถูกเปลี่ยนเส้นทางไปยังไซต์ใหม่ รวมถึงข้อมูล URL เพิ่มเติมที่ต่อท้ายด้วย ตัวอย่างเช่น มีคนพิมพ์:
คำขอจะถูกเปลี่ยนเส้นทางไปที่:
คุณสมบัตินี้จะทรงพลังมากหากใช้อย่างถูกต้อง
เราอาจออกแบบเว็บไซต์ใหม่ ย้ายเอกสาร หรือเปลี่ยนไดเร็กทอรี ในขณะนี้ การเข้าชมจากเครื่องมือค้นหาหรือลิงก์จากเว็บไซต์อื่นอาจผิดพลาดได้ ในกรณีนี้ คุณสามารถใช้คำสั่งต่อไปนี้เพื่อเปลี่ยนเส้นทาง URL เก่าไปยังที่อยู่ใหม่โดยอัตโนมัติ:
เปลี่ยนเส้นทาง / ไดเร็กทอรีเก่า / ที่อยู่ชื่อเอกสารเก่าของเอกสารใหม่
หรือเปลี่ยนเส้นทางไดเรกทอรีทั้งหมด:
เปลี่ยนเส้นทางไดเร็กทอรีเก่าไดเร็กทอรีใหม่
แม้ว่าจะมีการใช้งาน .htaccess มากมาย แต่การใช้งาน .htaccess ที่ได้รับความนิยมมากที่สุดและอาจมีประโยชน์มากที่สุดคือการใช้เพื่อป้องกันรหัสผ่านที่เชื่อถือได้สำหรับไดเร็กทอรีเว็บไซต์ แม้ว่า JavaScript และโปรแกรมอื่นๆ จะสามารถทำได้ แต่มีเพียง .htaccess เท่านั้นที่มีการรักษาความปลอดภัยที่สมบูรณ์แบบ (กล่าวคือ ผู้เยี่ยมชมจะต้องทราบรหัสผ่านก่อนจึงจะสามารถเข้าถึงไดเร็กทอรีได้ และไม่มี "ประตูหลัง")
การใช้ .htaccess เพื่อป้องกันไดเรกทอรีด้วยรหัสผ่านนั้นเป็นกระบวนการที่มีสองขั้นตอน ขั้นตอนแรกคือการเพิ่มบรรทัดโค้ดที่เหมาะสมลงในเอกสาร .htaccess ของคุณ จากนั้นวางเอกสาร .htaccess ในไดเร็กทอรีที่คุณต้องการป้องกัน:
AuthName “ชื่อส่วน”
AuthType พื้นฐาน
AuthUserFile /เต็ม/เส้นทาง/to/.htpasswd
ต้องการผู้ใช้ที่ถูกต้อง
คุณอาจต้องแก้ไขเนื้อหาบางส่วนข้างต้นตามเว็บไซต์ของคุณ เช่น แทนที่ "ชื่อส่วน" ด้วยชื่อของส่วนที่ได้รับการป้องกัน "ส่วนสมาชิก"
/full/parth/to/.htpasswd ควรแทนที่ด้วยพาธเซิร์ฟเวอร์แบบเต็มที่ชี้ไปยังไฟล์ .htpasswd (เพิ่มเติมเกี่ยวกับเอกสารนี้ในภายหลัง) หากคุณไม่ทราบเส้นทางแบบเต็มไปยังพื้นที่เว็บของคุณ โปรดสอบถามผู้ดูแลระบบของคุณ
การป้องกันด้วยรหัสผ่านของไดเรกทอรีนั้นยุ่งยากกว่าคุณสมบัติอื่นๆ ของ .htaccess เนื่องจากคุณต้องสร้างเอกสารที่มีชื่อผู้ใช้และรหัสผ่านเพื่อเข้าถึงเว็บไซต์ของคุณ และข้อมูลที่เกี่ยวข้อง (ตามค่าเริ่มต้น) จะอยู่ในเอกสารชื่อ .htpasswd เช่นเดียวกับ .htaccess .htpasswd เป็นเอกสารที่ไม่มีชื่อไฟล์และมีนามสกุล 8 บิตที่สามารถวางไว้ที่ใดก็ได้บนเว็บไซต์ของคุณ (รหัสผ่านควรได้รับการเข้ารหัสในขณะนี้) แต่ขอแนะนำให้คุณบันทึกไว้นอกรูทเว็บ ไดเร็กทอรีของเว็บไซต์ของคุณ จึงไม่สามารถเข้าถึงได้ผ่านเครือข่าย 1516501417
เมื่อใช้ .htaccess เพื่อป้องกันไดเรกทอรีด้วยรหัสผ่าน จะมีเส้นทางไปยังไฟล์รหัสผ่าน ด้วยเหตุผลด้านความปลอดภัย จำเป็นต้องปกป้อง .htaccess เพื่อไม่ให้ผู้อื่นเห็นเนื้อหาในนั้น แม้ว่าจะสามารถทำได้ด้วยวิธีอื่น เช่น การอนุญาตในเอกสาร อย่างไรก็ตาม .htaccess เองก็สามารถทำได้เช่นกัน เพียงเพิ่มคำแนะนำต่อไปนี้: 1516501417
คำสั่งอนุญาต, ปฏิเสธ
ปฏิเสธจากทั้งหมด
หากต้องการใช้ .htaccess เพื่อตั้งค่าผู้ใช้ที่มีสิทธิ์เข้าถึงและรหัสผ่านที่เกี่ยวข้องสำหรับเอกสารในไดเร็กทอรี สิ่งแรกที่ต้องทำคือสร้างเอกสารข้อความ .htpasswd เช่น:
ปลอม:y4E7Ec8e7EwV
รหัสผ่านที่นี่ได้รับการเข้ารหัส และผู้ใช้สามารถค้นหาเครื่องมือบางอย่างในการเข้ารหัสรหัสผ่านให้เป็นการเข้ารหัสที่ .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 เท่านั้น แต่ยังสามารถใช้ชื่อโดเมนในการตั้งค่าได้อีกด้วย
หลังจากสร้างเอกสาร .htpasswd แล้ว (ซึ่งสามารถสร้างได้ด้วยโปรแกรมแก้ไขข้อความ) ขั้นตอนต่อไปคือการป้อนชื่อผู้ใช้และรหัสผ่านที่ใช้ในการเข้าถึงเว็บไซต์ ซึ่งควรเป็น:
ชื่อผู้ใช้:รหัสผ่าน
ตำแหน่งของ "รหัสผ่าน" ควรเป็นรหัสผ่านที่เข้ารหัส คุณสามารถรับรหัสผ่านที่เข้ารหัสได้หลายวิธี วิธีหนึ่งคือการใช้สคริปต์ที่ได้รับอนุญาตทางออนไลน์หรือเขียนด้วยตนเอง บริการเข้ารหัสชื่อผู้ใช้/รหัสผ่านที่ดีอีกวิธีหนึ่งคือผ่านเว็บไซต์ KxS ซึ่งให้คุณป้อนชื่อผู้ใช้และรหัสผ่านของคุณ จากนั้นจึงสร้าง รหัสผ่านที่มีรูปแบบถูกต้อง
สำหรับผู้ใช้หลายราย คุณจะต้องเพิ่มบรรทัดใหม่ที่มีรูปแบบเดียวกันในเอกสาร .htpasswd เท่านั้น นอกจากนี้ ยังมีโปรแกรมสคริปต์ฟรีบางโปรแกรมที่สามารถจัดการไฟล์ .htpasswd และเพิ่ม/ลบผู้ใช้โดยอัตโนมัติ ฯลฯ
เมื่อคุณพยายามเข้าถึงไดเร็กทอรีที่ป้องกันด้วยรหัสผ่าน .htaccess เบราว์เซอร์ของคุณจะปรากฏขึ้นกล่องโต้ตอบชื่อผู้ใช้/รหัสผ่านมาตรฐาน หากคุณไม่ชอบวิธีนี้ สคริปต์บางตัวจะอนุญาตให้คุณฝังช่องป้อนข้อมูลชื่อผู้ใช้/รหัสผ่านในหน้าเพื่อตรวจสอบสิทธิ์ คุณยังสามารถป้อนชื่อผู้ใช้และรหัสผ่าน (ไม่เข้ารหัส) ในช่อง URL ของเบราว์เซอร์ได้ด้วยวิธีต่อไปนี้:
http://username:password@ www.w3sky.com/directory/
หากคุณไม่ชอบให้ผู้อื่นลิงก์รูปภาพและเอกสารของตนเองบนหน้าเว็บ คุณสามารถทำได้โดยใช้คำสั่ง htaccess
คำแนะนำที่จำเป็นมีดังนี้:
เขียนใหม่เครื่องยนต์บน
เขียนใหม่ %{ HTTP_REFERER } !^$
เขียนใหม่ %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]
เขียนกฎใหม่ .(gif &line;jpg)$ - [F]
หากคุณคิดว่าการเปิดช่องรับแสงบนหน้าของคนอื่นดูไม่ดี คุณสามารถใช้รูปภาพแทนได้:
เขียนใหม่เครื่องยนต์บน
เขียนใหม่ %{ HTTP_REFERER } !^$
เขียนใหม่ %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]
RewriteRule .(gif &line;jpg)$ http://www.w3sky.com/Replacement picture file name [R,L]
วิธีนี้คือ การเปลี่ยนเส้นทาง การรับส่งข้อมูล yourdomain.com ทั้งหมดไปยัง www.yourdomain.com (หรือกลับกัน) ที่จริงแล้ว บางคนในต่างประเทศคิดว่าวิธีนี้ไม่เป็นประโยชน์กับเพจแรงก์ ฉันคิดว่าเป็นเพราะพวกเขาเห็นว่ามีเครื่องมือโดเมนที่ต้องการในเครื่องมือผู้ดูแลระบบของ Google ซึ่งสามารถระบุโปรแกรมรวบรวมข้อมูลของ Google ให้ใช้ www.yourdomain.com หรือ yourdomain.com เป็นโดเมนที่ต้องการสำหรับการรวบรวมข้อมูลและการจัดอันดับ และการเปลี่ยนเส้นทางดูเหมือนไม่จำเป็น แต่หลายๆ คนยืนยันแล้วว่าวิธีนี้ได้ผล อย่างไรก็ตาม ไม่มีใครบอกว่าวิธีนี้จะสร้างความเสียหายให้กับ SEO หรือเพจแรงก์ได้
เขียนใน .htaccess:
ตัวเลือก +FollowSymlinks ทั้งหมด -Indexes
เขียนใหม่เครื่องยนต์บน
เขียนใหม่ฐาน/
เขียนใหม่ %{HTTP_HOST} ^domain.com$
กฎการเขียนใหม่ ^(.*)$ http://www.domain.com/ $1 [R=301,L]
บังคับให้ถอด 3w
ต่อไปนี้เป็นตัวอย่าง ในสถานการณ์อื่นๆ คุณสามารถอ้างอิงและแก้ไขได้ด้วยตัวเอง โดยปกติแล้วจะมีไฟล์ .htaccess ในไดเร็กทอรี WordPress ของคุณ หากไม่มี ให้สร้างไฟล์ด้วยตนเอง หากคุณตั้งค่าลิงก์ถาวร เนื้อหาใน .htaccess จะเป็นดังนี้:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
ไม่ต้องกังวลกับความหมายโดยเฉพาะ เพียงเพิ่มใต้บรรทัด RewriteBase /:
RewriteCond %{HTTP_HOST} ^ www.yourdomain.tld $ [NC]
RewriteRule ^(.*)$ http://yourdomain.tld/ $1 [R=301,L]
และคุณทำเสร็จแล้ว แน่นอน แทนที่ yourdomain.tld ด้วยชื่อโดเมนของคุณเอง สองบรรทัดด้านบนหมายถึงการเขียนแบบฟอร์ม www.yourdomain.tld ลงใน yourdomain.tld และ เปลี่ยนเส้นทางลิงก์ทั้งหมดที่เข้าถึงลิงก์แรกไปยังลิงก์หลังอย่างถาวร
จำเป็นต้องเพิ่ม www ก่อนชื่อโดเมน
หากคุณยืนกรานที่จะเพิ่ม www ไว้ข้างหน้าจริงๆ คำข้างต้นของฉันก็จะไร้ผล และฉันก็เสียใจด้วย แต่คุณทำได้ เพียงเปลี่ยนโค้ดสองบรรทัดที่เพิ่มด้านบนเป็น:
RewriteCond %{HTTP_HOST} ^yourdomain.tld$ [NC]
RewriteRule ^(.*)$ http://www.yourdomain.tld/ $1 [R=301,L]
.htaccess เป็นเครื่องมืออันทรงพลังที่ผู้ดูแลไซต์สามารถใช้ได้ โดยมีหลายรูปแบบเพื่อให้เหมาะกับวัตถุประสงค์ที่แตกต่างกัน ประหยัดเวลาและปรับปรุงความปลอดภัยของเว็บไซต์
คำแนะนำพิเศษสำหรับ .htaccess
* หากต้องการเปิดใช้งาน .htaccess คุณต้องแก้ไข httpd.conf เปิดใช้งาน AllowOverride และใช้ AllowOverride เพื่อจำกัดการใช้คำสั่งเฉพาะ
* หากคุณต้องการใช้ชื่อไฟล์อื่นที่ไม่ใช่ .htaccess คุณสามารถใช้คำสั่ง AccessFileName เพื่อเปลี่ยนแปลงได้ ตัวอย่างเช่น หากคุณต้องการใช้ .config คุณสามารถกำหนดค่าได้ในไฟล์การกำหนดค่าเซิร์ฟเวอร์ดังนี้:
AccessFileName.config
* โดยทั่วไป ไม่ควรใช้ไฟล์ .htaccess เว้นแต่คุณจะไม่สามารถเข้าถึงไฟล์การกำหนดค่าหลักได้ มีความเข้าใจผิดกันทั่วไปว่าการรับรองความถูกต้องของผู้ใช้สามารถทำได้ผ่านไฟล์ .htaccess เท่านั้น จริงๆ แล้วไม่เป็นเช่นนั้น และเป็นวิธีที่ดีในการเขียนการรับรองความถูกต้องของผู้ใช้ในไฟล์การกำหนดค่าหลัก ไฟล์ .htaccess ควรใช้ในสถานการณ์ที่ผู้ให้บริการเนื้อหาจำเป็นต้องเปลี่ยนการกำหนดค่าของเซิร์ฟเวอร์สำหรับไดเร็กทอรีเฉพาะโดยไม่มีสิทธิ์รูท หากผู้ดูแลระบบเซิร์ฟเวอร์ไม่ต้องการแก้ไขการกำหนดค่าบ่อยครั้ง เขาหรือเธอสามารถอนุญาตให้ผู้ใช้สามารถแก้ไขการกำหนดค่าด้วยตนเองผ่านไฟล์ .htaccess โดยเฉพาะอย่างยิ่งหาก ISP เรียกใช้ไซต์ผู้ใช้หลายไซต์บนเครื่องเดียวกัน และหวังว่าผู้ใช้จะสามารถเปลี่ยนการกำหนดค่าด้วยตนเอง . อย่างไรก็ตาม โดยทั่วไปคุณควรหลีกเลี่ยงการใช้ไฟล์ .htaccess ทุกครั้งที่เป็นไปได้ การกำหนดค่าใดๆ ที่คุณต้องการวางในไฟล์ .htaccess สามารถวางไว้ในส่วน <Directory> ของไฟล์การกำหนดค่าหลักได้ และมีประสิทธิภาพมากกว่า มีเหตุผลหลักสองประการที่ควรหลีกเลี่ยงการใช้ไฟล์ .htaccess ได้แก่ ประสิทธิภาพและความปลอดภัย
แนบมาด้วย: การเชื่อมต่อเครื่องมือ .htaccess
โปรแกรมสร้างไฟล์ .htaccess ออนไลน์
http://cooletips.de/htaccess/
สามารถสร้างไฟล์ .htaccess ออนไลน์ได้ การกำหนดค่าการเปลี่ยนเส้นทาง ไฟล์ข้อผิดพลาดของระบบ ฯลฯ ทำได้ง่ายมาก
ตัวแก้ไข .htaccess ตัวแก้ไขออนไลน์
การเข้ารหัสเริ่มต้น หน้าข้อผิดพลาด ฯลฯ ที่ปรับแต่งได้