วิธีหยุด WordPress จากการเขียนทับไฟล์ .htaccess

เผยแพร่แล้ว: 2023-02-23

เมื่อเร็ว ๆ นี้หนึ่งในผู้อ่านของเราถามว่าเป็นไปได้ไหมที่จะหยุด WordPress ไม่ให้เขียนทับโค้ดที่กำหนดเองในไฟล์ .htaccess ของคุณ

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

ในบทความนี้ เราจะแสดงวิธีหยุดไม่ให้ WordPress เขียนทับไฟล์ .htaccess

How to Stop WordPress From Overwriting .htaccess File

เหตุใด WordPress จึงเขียนทับไฟล์ .htaccess

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

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

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

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

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

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

  • วิธีหยุดไม่ให้ WordPress เขียนทับกฎ .htaccess ของคุณ
  • วิธีหยุด WordPress จากการแก้ไข .htaccess

วิธีหยุดไม่ให้ WordPress เขียนทับกฎ .htaccess ของคุณ

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

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

อย่าแก้ไขโค้ดภายในเครื่องหมาย WordPress

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

ดังที่คุณเห็นในภาพหน้าจอด้านล่าง WordPress จะบันทึกข้อมูลนี้ระหว่างเครื่องหมายสองตัว # BEGIN WordPress และ # END WordPress

WordPress Markers in .htaccess

สังเกตคำเตือนภายในเครื่องหมายเหล่านั้น:

คำสั่ง (บรรทัด) ระหว่าง “BEGIN WordPress” และ “END WordPress” ถูกสร้างขึ้นแบบไดนามิก และควรแก้ไขผ่านตัวกรอง WordPress เท่านั้น การเปลี่ยนแปลงคำสั่งระหว่างเครื่องหมายเหล่านี้จะถูกเขียนทับ

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

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

อย่าแก้ไขโค้ดภายในเครื่องหมายปลั๊กอินของคุณ

เมื่อปลั๊กอินบันทึกการตั้งค่าเป็น .htaccess ปลั๊กอินจะวางไว้ระหว่างเครื่องหมายที่มีลักษณะเหมือน # BEGIN Plugin และ # END Plugin

ตัวอย่างเช่น หากคุณติดตั้งและตั้งค่าปลั๊กอิน W3 Total Cache เพื่อปรับปรุงความเร็วและประสิทธิภาพของเว็บไซต์ของคุณ ปลั๊กอินจะเพิ่มกฎให้กับ .htaccess ระหว่าง # BEGIN W3TC Browser Cache และ # END W3TC Browser Cache markers

Example of Plugin Markers in .htaccess

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

การสร้างเครื่องหมายสำหรับโค้ดที่คุณกำหนดเอง

ในบางกรณี ปลั๊กอินที่ทำงานไม่ดีอาจแก้ไขโค้ดนอกเครื่องหมาย # BEGIN และ # END อย่างไรก็ตาม โดยปกติจะไม่แก้ไขรหัสที่พบระหว่างเครื่องหมายที่ใช้โดย WordPress หรือปลั๊กอินอื่นๆ

หากคุณกังวลเกี่ยวกับปลั๊กอินที่ทำงานไม่ดีเขียนทับโค้ดของคุณ คุณสามารถเพิ่มเครื่องหมายของคุณเองในไฟล์ .htaccess

ตัวอย่างเช่น คุณสามารถพิมพ์เครื่องหมาย # BEGIN MyCustomCode และ # END MyCustomCode ที่ด้านบนของไฟล์ .htaccess แล้วเพิ่มกฎที่กำหนดเองระหว่างเครื่องหมายเหล่านั้น

You Can Create Your Own Markers in .htaccess for Your Custom Rules

หากคุณต้องการเพิ่มโค้ดที่ส่วนท้ายของ .htaccess คุณสามารถเพิ่มเครื่องหมายชุดอื่นได้ อย่าลืมตั้งชื่อให้ต่างกัน ตัวอย่างเช่น คุณสามารถใช้ 'MyCustomCodeTop' และ 'MyCustomCodeBottom'

วิธีหยุด WordPress จากการแก้ไข .htaccess

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

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

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

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

การหยุด WordPress จากการเปลี่ยน .htaccess โดยใช้การอนุญาตไฟล์

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

คุณจะพบไฟล์ .htaccess ในไดเรกทอรีรากของการติดตั้ง WordPress ถัดไป คุณควรคลิกขวาที่ไฟล์แล้วเลือก 'การอนุญาตไฟล์'

Selecting File Permissions From the Menu in Your FTP Client

นี่จะแสดงป๊อปอัปที่คุณสามารถเปลี่ยนแอตทริบิวต์ของไฟล์ได้

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

Changing the .htaccess File Permissions to 444 or Read-Only

เมื่อคุณคลิกปุ่ม 'ตกลง' ไฟล์จะเป็นแบบอ่านอย่างเดียวและไม่สามารถแก้ไขได้

แน่นอนว่านี่หมายความว่าคุณไม่สามารถเขียนไฟล์ได้เช่นกัน เมื่อต้องการเปลี่ยนแปลง คุณจะต้องตั้งค่าการอนุญาตไฟล์กลับเป็น 644 ชั่วคราว

การหยุด WordPress จากการเปลี่ยน .htaccess โดยใช้รหัส

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

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

เพียงเพิ่มข้อมูลโค้ดต่อไปนี้ที่ท้ายไฟล์ wp-config.php ของคุณ หากคุณต้องการความช่วยเหลือ โปรดดูคู่มือของเราเกี่ยวกับวิธีแก้ไขไฟล์ wp-config.php ใน WordPress

add_filter('got_rewrite', '__return_false');

เมื่อคุณทำเสร็จแล้ว WordPress จะไม่เขียนไฟล์ .htaccess อีกต่อไป

ข้อความแสดงข้อผิดพลาดปรากฏขึ้นเมื่อ WordPress ไม่สามารถเปลี่ยน .htaccess

หากคุณพยายามเปลี่ยนการตั้งค่าลิงก์ถาวรเมื่อตั้งค่า .htaccess เป็นแบบอ่านอย่างเดียว ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น

ที่ด้านบนของหน้า การตั้งค่า»ลิงก์ถาวร คุณจะเห็นข้อความ 'คุณควรอัปเดตไฟล์ .htaccess ของคุณเดี๋ยวนี้'

Permalink Settings Error Message When .htaccess Cannot Be Accessed

สิ่งนี้แจ้งให้คุณทราบว่า WordPress ไม่สามารถแก้ไขไฟล์ .htaccess ได้

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

ที่ด้านล่างของหน้า การตั้งค่า ≫ ลิงก์ถาวร คุณจะเห็นข้อความแสดงข้อผิดพลาดอีกข้อความว่าไฟล์ .htaccess ของคุณไม่สามารถเขียนได้ ภายใต้นั้น คุณจะเห็นกฎที่ต้องเพิ่มใน .htaccess

List of Rules You Will Need to Add to .htaccess Manually if Needed

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

เมื่อเสร็จแล้ว ให้ตั้งค่ากลับเป็น 444 แล้วบันทึกไฟล์ มันจะเขียนไม่ได้อีกครั้ง

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

หากคุณชอบบทความนี้ โปรดสมัครสมาชิก YouTube Channel สำหรับวิดีโอสอน WordPress ของเรา คุณสามารถหาเราได้ที่ Twitter และ Facebook