วิธีหยุด WordPress จากการเขียนทับไฟล์ .htaccess
เผยแพร่แล้ว: 2024-08-28เป็นปัญหาทั่วไปที่ผู้ใช้ WordPress จำนวนมากเคยประสบ: WordPress เขียนทับหรือแก้ไขไฟล์ .htaccess ที่คุณกำหนดเองโดยไม่ได้ตั้งใจ ไม่ว่าจะด้วยตัวมันเองหรือผ่านปลั๊กอิน
โดยทั่วไปสิ่งนี้จะเกิดขึ้นโดยไม่มีใครสังเกตเห็น โดยไม่มีผลกระทบในทันทีต่อเนื้อหาเว็บไซต์ของคุณ จนกว่าจะมีสิ่งผิดปกติเกิดขึ้นหรือการเปลี่ยนแปลงที่ไม่พึงประสงค์เกิดขึ้น
ตามค่าเริ่มต้น WordPress สามารถแก้ไขหรือเขียนทับไฟล์ .htaccess โดยอัตโนมัติ ทั้งนี้ขึ้นอยู่กับการกำหนดค่าและการอนุญาต แม้แต่ปลั๊กอิน WordPress ก็มีแนวโน้มที่จะแก้ไขไฟล์ .htaccess เพื่อให้ตรงกับการกำหนดค่า
แม้ว่าโดยทั่วไปแล้วสิ่งนี้จะไม่เป็นอันตราย แต่ก็อาจกลายเป็นปัญหาได้เมื่อปลั๊กอินหรือธีมของบุคคลที่สามเพิ่มโค้ดที่แทนที่การตั้งค่าเว็บไซต์หลัก ซึ่งอาจนำไปสู่ความเสี่ยงด้านความปลอดภัยหรือปัญหาด้านประสิทธิภาพ
เพื่อช่วยคุณป้องกันสถานการณ์ดังกล่าว เราจะแนะนำคุณเกี่ยวกับวิธีหยุดไฟล์ .htaccess ไม่ให้ถูกเขียนทับ เพื่อไม่รอช้า เรามาดำดิ่งกันเลย
ไฟล์ .htaccess ทำงานอย่างไร และเหตุใด Wpoven จึงเขียนทับเนื้อหาของไฟล์ .htaccess ด้วยซ้ำ
วิธีที่ดีที่สุดในการป้องกันไม่ให้ WordPress หรือปลั๊กอินเขียนทับไฟล์ .htaccess คือการเรียนรู้ว่าไฟล์ .htaccess ทำงานอย่างไรก่อน จะช่วยให้คุณทราบสาเหตุของปัญหาและทำความเข้าใจว่าไม่ควรทำอะไร
ดังนั้น ไฟล์ .htaccess จึงเหมือนกับหนังสือกฎที่ประกอบด้วยชุดคำสั่งว่าเว็บไซต์ของคุณควรมีลักษณะการทำงานอย่างไร
วัตถุประสงค์หลักคือเพื่อจัดการวิธีการแสดงเนื้อหาและวิธีการทำงานของปลั๊กอินบางตัว ตัวอย่างเช่น จากไฟล์ .htaccess คุณยังสามารถตั้งกฎการเปลี่ยนเส้นทาง 301 ได้อีกด้วย ซึ่งทำให้ URL เป็นมิตรกับ SEO และสะอาด
แต่ถ้าคุณหรือบุคคลอื่นพยายามอัปเดตเว็บไซต์ เช่น การเปลี่ยนโครงสร้าง URL WordPress จะอัปเดตไฟล์ .htaccess โดยอัตโนมัติเพื่อแสดงการเปลี่ยนแปลงเหล่านั้น
ในทำนองเดียวกัน เมื่อคุณติดตั้งปลั๊กอิน WordPress ที่คุณอาจใช้เพื่อเพิ่มคุณสมบัติพิเศษให้กับไซต์ของคุณสามารถเพิ่มกฎ/คำแนะนำของตนเองลงในไฟล์ได้
แต่นี่ไม่ใช่ปัญหา ส่วนที่ยุ่งยากคือเมื่อการเปลี่ยนแปลงเหล่านี้เกิดขึ้น คำแนะนำเดิมที่คุณใส่ไว้อาจถูกเขียนทับ แทนที่ หรือลบทิ้ง
นี่อาจทำให้ลักษณะการทำงานหรือรูปลักษณ์เว็บไซต์ของคุณยุ่งเหยิง แม้ว่าคุณจะไม่ได้ตั้งใจให้มันเกิดขึ้นก็ตาม ดังนั้น หากต้องการหยุดหรือป้องกันสถานการณ์ดังกล่าว คุณต้องปฏิบัติตามคำแนะนำ/คำแนะนำด้านล่างนี้:
จะหยุด WordPress ไม่ให้เขียนทับกฎของไฟล์ .htacess ได้อย่างไร
เนื่องจากไฟล์ .htaccess
มีกฎหรือคำแนะนำขึ้นอยู่กับการทำงานของเว็บไซต์ของคุณ จึงอาจมีชุดกฎที่กำหนดเองเพิ่มเข้าไปเพื่อป้องกันไม่ให้ถูกเขียนทับในสถานการณ์ข้างต้น
นี่คือวิธีที่คุณสามารถทำได้
- หลีกเลี่ยงการเพิ่มหรือแก้ไขกฎระหว่างเครื่องหมายหรือแท็ก WordPress
- หลีกเลี่ยงการเพิ่มหรือแก้ไขกฎระหว่างเครื่องหมายปลั๊กอินหรือแท็ก
- ตั้งค่าการอนุญาตไฟล์เพื่อหลีกเลี่ยงไม่ให้ WordPress เขียนทับไฟล์ .htaccess
- หยุด WordPress ไม่ให้เขียนทับ .htacess โดยการใส่โค้ดลงในไฟล์ wp-config.php
1. หลีกเลี่ยงการเพิ่มหรือแก้ไขกฎระหว่างเครื่องหมายหรือแท็ก WordPress
ดังที่เราได้กล่าวไปแล้ว WordPress ใช้ไฟล์ .htaccess เพื่อจัดการการตั้งค่า WordPress บางอย่าง เช่น การสร้าง URL ที่มีโครงสร้างและเป็นมิตรกับ SEO
เมื่อคุณเปลี่ยนโครงสร้าง URL ซึ่งเรียกว่า "ลิงก์ถาวร" WordPress จะอัปเดตโค้ดในไฟล์นี้โดยอัตโนมัติเช่นกัน
การตั้งค่าลิงก์ถาวรเหล่านี้จะถูกบันทึกไว้ระหว่างแท็กหรือเครื่องหมาย WordPress สองตัว: # BEGIN WordPress
และ # END WordPress
พื้นที่เฉพาะระหว่างแท็ก WordPress ทั้งสองนี้สงวนไว้สำหรับ WordPress อย่างสมบูรณ์ และยังเตือนคุณด้วยว่าการเปลี่ยนแปลงใด ๆ ที่คุณทำระหว่างเครื่องหมายเหล่านี้จะถูกเขียนทับในครั้งถัดไปที่ WordPress อัปเดตไฟล์
สิ่งที่ควรทำ : แต่ส่วนที่ดีที่สุดคือ WordPress จะไม่แตะต้องโค้ดใดๆ ที่คุณเพิ่มไว้นอกเครื่องหมายหรือแท็กเหล่านี้ หมายความว่าหากคุณต้องการเพิ่มโค้ดที่กำหนดเองใดๆ ให้ลองแทรกหรือเพิ่มไว้ที่ด้านบนของไฟล์ ก่อนเครื่องหมาย # BEGIN WordPress
อย่า: แต่หลีกเลี่ยงการแทรกหรือเพิ่มโค้ดที่กำหนดเองของคุณระหว่างเครื่องหมาย WordPress เนื่องจากจะถูกลบหรือแทนที่ทุกครั้งที่ WordPress อัปเดตการตั้งค่า เพื่อให้การตั้งค่าแบบกำหนดเองของคุณปลอดภัย ให้วางไว้นอกเครื่องหมายเหล่านี้เสมอ
2. หลีกเลี่ยงการเพิ่มหรือแก้ไขกฎระหว่างเครื่องหมายปลั๊กอินหรือแท็ก
เช่นเดียวกับเครื่องหมาย WordPress คุณต้องหลีกเลี่ยงการแก้ไขหรือเพิ่มกฎระหว่างเครื่องหมายปลั๊กอินหรือแท็ก
เนื่องจากปลั๊กอินสามารถเพิ่มกฎของตนเองลงในไฟล์ .htaccess
ที่คล้ายกับ WordPress และเมื่อทำเช่นนั้น ปลั๊กอินจะสงวนพื้นที่ด้วยเครื่องหมายพิเศษหรือแท็กที่มีชื่อของปลั๊กอิน
ตัวอย่างเช่น หากปลั๊กอินชื่อ “WProcket” เพิ่มกฎ มันจะทำเครื่องหมายด้วย # BEGIN WP Rocke
t Browser Cache และ # END WP Rocket
Browser Cache
หมายความว่าคำสั่งหรือกฎใดๆ ที่ปลั๊กอินเพิ่มระหว่างเครื่องหมายทั้งสองนี้จะถูกควบคุมโดยปลั๊กอินเท่านั้น ในกรณีที่คุณเปลี่ยนการตั้งค่าของปลั๊กอิน ปลั๊กอินจะอัปเดตกฎเหล่านี้ และอาจเขียนทับสิ่งใดๆ ระหว่างเครื่องหมายหรือแท็กเหล่านั้น
ดังนั้น หากคุณมีกฎที่กำหนดเองใดๆ ที่คุณไม่อยากเสียไป อย่าวางไว้ระหว่างเครื่องหมายเฉพาะปลั๊กอินเหล่านี้
เพิ่มกฎที่กำหนดเองโดยใช้เครื่องหมายหรือแท็กที่กำหนดเอง
คุณสามารถสร้างเครื่องหมายหรือแท็กเพื่อเพิ่มกฎที่กำหนดเองที่คุณมีและแยกออกจากส่วนที่สร้างโดย WordPress และปลั๊กอินแทน
วิธีนี้จะรับประกันได้ว่าการแก้ไขหรือการเปลี่ยนแปลงใด ๆ ที่เกิดขึ้นกับการดูแลระบบ WordPress หรือการตั้งค่าปลั๊กอินจะไม่เขียนทับส่วนนี้
ต่อไปนี้คือวิธีที่คุณสามารถทำได้:
สมมติว่าคุณต้องเปลี่ยนเส้นทางคำขอใดๆ ที่สร้าง yourdomain.com
ไปที่ https://www.yourdomain.com
เพื่อให้ผู้เยี่ยมชมของคุณไปที่ไซต์เวอร์ชันของคุณโดยมี "www" ใน URL เสมอ
หากต้องการใช้กฎที่กำหนดเองนี้ ให้ใช้แท็ก # BEGIN Custom Rules
# END Custom Rules
ที่ด้านบนของไฟล์ . .htaccess
จากนั้นเพิ่มคำแนะนำหรือกฎที่กำหนดเองภายในเครื่องหมายเหล่านี้
มันจะเป็นดังนี้:
# BEGIN Custom Rules
RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourdomain\.com$
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R=301,L]
# END Custom Rules
อ่าน: ไฟล์ WordPress .htaccess: จะสร้างและแก้ไขได้อย่างไร
3. ตั้งค่าการอนุญาตไฟล์เพื่อหลีกเลี่ยงไม่ให้ WordPress เขียนทับไฟล์ .htaccess
วิธีที่สามที่สามารถช่วยคุณป้องกันไม่ให้ WordPress เขียนทับไฟล์ .htaccess
คือการตั้งค่าการอนุญาตของไฟล์เป็น "อ่านอย่างเดียว"
ในการดำเนินการนี้ คุณต้องเข้าถึงไฟล์ .htaccess
โดยใช้ไคลเอนต์ FTP หรือตัวจัดการไฟล์ที่ผู้ให้บริการโฮสติ้ง WordPress ของคุณให้มา
เมื่อคุณเข้าสู่ระบบไคลเอนต์ FTP หรือตัวจัดการไฟล์แล้ว ให้มองหาไฟล์ .htaccess
ซึ่งมักจะอยู่ในไดเร็กทอรีรากของการติดตั้ง WordPress ของคุณ
จากนั้น คลิกขวาที่ไฟล์และเลือก 'สิทธิ์ของไฟล์'
หน้าต่างป๊อปอัปจะปรากฏขึ้นพร้อมกับแอตทริบิวต์ของไฟล์ทั้งหมด ซึ่งโดยทั่วไปการตั้งค่าเริ่มต้นคือ 644 แต่คุณสามารถเปลี่ยนเป็น 444 ได้โดยการป้อนค่าลงในฟิลด์ 'ค่าตัวเลข' โดยตรง หรือตรวจสอบให้แน่ใจว่ามีเพียง 'อ่าน' เท่านั้น เลือกกล่องแล้ว
ด้วยการตั้งค่าการอนุญาตไฟล์ .htaccess
เป็น 444 (อ่านอย่างเดียว) ไฟล์จะได้รับการปกป้องจากการแก้ไข
หมายเหตุ: โปรดจำไว้เสมอว่าการดำเนินการนี้จะไม่อนุญาตให้คุณทำการเปลี่ยนแปลงใด ๆ กับไฟล์ หากคุณต้องการอัปเดตไฟล์ คุณจะต้องเปลี่ยนการอนุญาตกลับเป็น 644 ชั่วคราว
4. หยุดไม่ให้ WordPress เขียนทับ .htacess โดยการใส่โค้ดลงในไฟล์ wp-config.php
วิธีสุดท้ายที่คุณนำไปใช้ได้คือการแทรกโค้ดต่อไปนี้ลงในไฟล์ wp-config.php ของคุณ
add_filter('got_rewrite', '__return_false');
วิธีการนี้มีประโยชน์หากคุณต้องการป้องกันไม่ให้ WordPress แก้ไขไฟล์ .htaccess
โดยไม่ส่งผลกระทบต่อปลั๊กอินของคุณ
หมายเหตุ: การแก้ไขหรือการจัดการไฟล์ WordPress หลักอาจมีความเสี่ยงและอาจทำให้เว็บไซต์ของคุณเสียหายได้หากมีข้อผิดพลาดเกิดขึ้น ขอแนะนำให้ขอความช่วยเหลือจากผู้เชี่ยวชาญหรือติดต่อนักพัฒนาเว็บของคุณ
ตอนนี้เพื่อดำเนินการนี้
1. เข้าสู่ระบบ cPanel หรือ FTP ของคุณโดยใช้ข้อมูลประจำตัวของคุณ
2. ไปที่ไดเร็กทอรีรากของเว็บไซต์ของคุณและค้นหาไฟล์ wp-config.php
3. เปิดไฟล์ wp-config.php
เพื่อแก้ไข
4. เพิ่มบรรทัดต่อไปนี้ลงในไฟล์ด้วยตนเองตามที่แสดงในภาพ
add_filter('got_rewrite', '__return_false');
5. หลังจากเพิ่มโค้ดแล้ว ให้บันทึกไฟล์
6. เมื่อบันทึกแล้ว WordPress จะไม่สามารถแก้ไขไฟล์ได้อีกต่อไป รวมถึงการเปลี่ยนแปลงรูปแบบ URL หรือการตั้งค่าอื่น ๆ ที่เกี่ยวข้อง
เมื่อคุณปฏิบัติตามวิธีนี้ WordPress จะไม่สามารถแก้ไขหรือเขียนทับไฟล์ .htaccess ได้
บทสรุป
มักกล่าวกันว่าการป้องกันย่อมดีกว่าการรักษา ในทำนองเดียวกัน คุณสามารถใช้มาตรการป้องกัน เช่น หลีกเลี่ยงการเพิ่มหรือแก้ไขกฎระหว่างเครื่องหมายหรือแท็ก WordPress รวมถึงระหว่างเครื่องหมายและแท็กปลั๊กอิน WordPress
นอกจากนี้ คุณยังสามารถตั้งกฎบางอย่างและใช้วิธีอ่านอย่างเดียวเพื่อไม่อนุญาตให้แก้ไขไฟล์ . .htaccess
โดยสิ้นเชิง
เราหวังว่าวิธีการข้างต้นจะช่วยคุณหยุดไม่ให้ WordPress เขียนทับไฟล์ . .htaccess
หากคุณมีคำถามใด ๆ เกี่ยวกับโพสต์นี้ โปรดแจ้งให้เราทราบในส่วนความคิดเห็นด้านล่าง
คำถามที่พบบ่อย
กฎ .htaccess ที่กำหนดเองของฉันจะได้รับผลกระทบจากกระบวนการอัปเกรด WordPress หรือไม่
ไม่ กฎ .htaccess
ที่คุณกำหนดเองจะไม่ได้รับผลกระทบจากการอัพเกรด WordPress หากวางไว้นอกเครื่องหมาย # BEGIN WordPress
และ # END WordPress
WordPress แก้ไขโค้ดระหว่างเครื่องหมายเหล่านี้เท่านั้น
การใช้ .htaccess แบบกำหนดเองบางส่วนมีข้อเสียหรือไม่
ใช่ กฎ .htaccess
แบบกำหนดเองอาจทำให้เกิดความซับซ้อน ซึ่งอาจนำไปสู่ความขัดแย้งหรือข้อผิดพลาดได้ หากคุณกำหนดค่ากฎไม่ถูกต้อง อาจส่งผลต่อประสิทธิภาพไซต์ของคุณหรือทำให้เกิดปัญหาเซิร์ฟเวอร์ด้วย นอกจากนี้ กฎเหล่านี้อาจต้องมีการอัปเดตหากการกำหนดค่าเซิร์ฟเวอร์ ปลั๊กอิน หรือ WordPress มีการเปลี่ยนแปลง นอกจากนี้ยังมีความเสี่ยงด้านความปลอดภัย เนื่องจากกฎที่ไม่ถูกต้องอาจสร้างช่องโหว่โดยไม่ได้ตั้งใจหากไม่ได้รับการจัดการอย่างระมัดระวัง
ฉันจะแน่ใจได้อย่างไรว่าเมื่อฉันอัปเดตปลั๊กอิน กฎ .htaccess ส่วนตัวของฉันจะไม่สูญหาย
เพื่อรักษากฎ .htaccess
ที่คุณกำหนดเองให้ปลอดภัยเมื่ออัปเดตปลั๊กอิน ตรวจสอบให้แน่ใจว่าได้วางกฎของคุณไว้นอกเครื่องหมาย # BEGIN
และ # END
ที่ WordPress และปลั๊กอินใช้ คุณยังสามารถสร้างเครื่องหมายของคุณเองเพื่อแยกกฎของคุณออกจากกัน สำรองไฟล์ .htaccess
ของคุณเป็นประจำ เพื่อให้คุณสามารถกู้คืนได้อย่างง่ายดายหากจำเป็น หลังจากอัปเดตปลั๊กอินแล้ว ให้ตรวจสอบไฟล์ .htaccess
เพื่อให้แน่ใจว่ากฎที่คุณกำหนดเองยังคงอยู่และไม่สูญหาย
Rahul Kumar เป็นผู้ชื่นชอบเว็บไซต์และเป็นนักยุทธศาสตร์ด้านเนื้อหาที่เชี่ยวชาญด้าน WordPress และเว็บโฮสติ้ง ด้วยประสบการณ์หลายปีและความมุ่งมั่นในการติดตามแนวโน้มของอุตสาหกรรม เขาจึงสร้างกลยุทธ์ออนไลน์ที่มีประสิทธิภาพที่กระตุ้นการเข้าชม เพิ่มการมีส่วนร่วม และเพิ่ม Conversion ความใส่ใจในรายละเอียดและความสามารถในการสร้างสรรค์เนื้อหาที่น่าสนใจของ Rahul ทำให้เขาเป็นทรัพย์สินที่มีค่าสำหรับแบรนด์ใดๆ ที่ต้องการปรับปรุงการนำเสนอตัวตนในโลกออนไลน์