كيفية إيقاف WordPress من الكتابة فوق ملف .htaccess؟

نشرت: 2024-08-28

إنها مشكلة شائعة واجهها العديد من مستخدمي WordPress: يقوم WordPress عن غير قصد بالكتابة فوق ملف .htaccess المخصص الخاص بك أو تحريره، إما بنفسه أو من خلال مكوناته الإضافية.

ويحدث هذا بشكل عام دون أن يلاحظه أحد، دون أن يكون له أي تأثير فوري على محتوى موقعك، حتى يبدأ شيء ما في حدوث خطأ أو يسري مفعول تغيير غير مرغوب فيه.

افتراضيًا، يمكن لـ WordPress، اعتمادًا على إعدادات التكوين والأذونات، تحرير ملف htaccess أو الكتابة فوقه تلقائيًا بصمت. حتى مكونات WordPress الإضافية تميل إلى تعديل ملف htaccess ليتوافق مع تكويناتها.

على الرغم من أن هذا غير ضار بشكل عام، إلا أنه يمكن أن يصبح مشكلة عندما تضيف المكونات الإضافية أو السمات التابعة لجهات خارجية تعليمات برمجية تتجاوز إعدادات موقع الويب الأساسية، مما قد يؤدي إلى مخاطر أمنية أو مشكلات في الأداء.

ولمساعدتك على منع مثل هذه المواقف، سنرشدك حول كيفية إيقاف الكتابة فوق ملف htaccess. لذلك، دون مزيد من التأخير، دعونا نتعمق.


جدول المحتويات
كيف يعمل ملف .htaccess ولماذا يقوم Wpoven بالكتابة فوق محتوى ملف .htaccess؟
كيف نمنع WordPress من الكتابة فوق قواعد ملف .htacess؟
خاتمة
الأسئلة المتداولة

كيف يعمل ملف .htaccess ولماذا يقوم Wpoven بالكتابة فوق محتوى ملف .htaccess؟

أفضل طريقة لمنع WordPress أو المكونات الإضافية من الكتابة فوق ملف .htaccess هي معرفة كيفية عمل ملف .htaccess أولاً. سيساعدك ذلك على معرفة السبب الجذري للمشكلة وفهم ما لا يجب فعله.

لذا، فإن ملفات .htaccess تشبه كتاب القواعد الذي يحتوي على مجموعة من الإرشادات حول كيفية التصرف في موقع الويب الخاص بك.

والغرض الرئيسي منه هو إدارة كيفية عرض المحتوى وكيفية عمل بعض المكونات الإضافية. على سبيل المثال، من ملف .htaccess، يمكنك أيضًا تعيين قاعدة إعادة التوجيه 301، مما يجعل عناوين URL صديقة للبيئة وصديقة لمحركات البحث.

ولكن إذا حاولت أنت أو أي شخص آخر تحديث موقع الويب، مثل تغيير بنية عنوان URL، فسيقوم WordPress تلقائيًا أيضًا بتحديث ملف .htaccess ليعكس تلك التغييرات.

وبالمثل، عند تثبيت مكونات WordPress الإضافية التي قد تستخدمها لإضافة ميزات إضافية إلى موقعك، يمكنها أيضًا إضافة القواعد/الإرشادات الخاصة بها إلى الملف.

لكن هذه ليست المشكلة، الجزء الصعب هو أنه عندما تحدث هذه التغييرات، قد تتم الكتابة فوق التعليمات الأصلية التي أدخلتها، أو استبدالها، أو محوها.

قد يؤدي ذلك إلى إفساد كيفية عمل موقع الويب الخاص بك أو ظهوره، حتى لو لم تكن تنوي حدوث ذلك. لذا، لإيقاف أو منع مثل هذه السيناريوهات، عليك اتباع بعض النصائح/الإرشادات المذكورة أدناه:


كيف نمنع WordPress من الكتابة فوق قواعد ملف .htacess؟

نظرًا لأن ملف .htaccess يحتوي على قواعد أو تعليمات بناءً على عمل موقع الويب الخاص بك، فيمكن أيضًا إضافة مجموعة مخصصة من القواعد إليه لمنع الكتابة فوقه في السيناريوهات المذكورة أعلاه.

وإليك كيف يمكنك القيام بذلك.

  • تجنب إضافة أو تحرير القواعد بين علامات أو علامات WordPress
  • تجنب إضافة القواعد أو تحريرها بين علامات أو علامات المكونات الإضافية
  • قم بتعيين إذن الملف لتجنب قيام WordPress بالكتابة فوق ملف .htaccess
  • أوقف WordPress من الكتابة فوق ملف .htacess عن طريق إدخال التعليمات البرمجية في ملف wp-config.php

1. تجنب إضافة أو تحرير القواعد بين علامات أو علامات WordPress

كما ذكرنا سابقًا، يستخدم WordPress ملف .htaccess لإدارة بعض إعدادات WordPress مثل إنشاء عناوين URL منظمة ونظيفة وصديقة لكبار المسئولين الاقتصاديين.

عندما تقوم بتغيير بنيات عناوين URL والتي تسمى أيضًا "الروابط الدائمة"، يقوم WordPress تلقائيًا بتحديث الكود الموجود في هذا الملف أيضًا.

يتم حفظ إعدادات الرابط الثابت هذه بين علامتين أو علامات WordPress: # BEGIN WordPress و # END WordPress .

Avoid adding or editing rules between the WordPress markers or Tags
تجنب إضافة أو تحرير القواعد بين علامات أو علامات WordPress

هذه المنطقة المحددة بين هاتين العلامتين في WordPress محجوزة بالكامل لـ WordPress وتحذرك أيضًا من أن أي تغييرات تجريها بين هاتين العلامتين سيتم استبدالها في المرة التالية التي يقوم فيها WordPress بتحديث الملف.

Dos : لكن أفضل ما في الأمر هو أن WordPress لن يلمس أي كود تضيفه خارج هذه العلامات أو العلامات. هذا يعني أنه إذا كنت تريد إضافة أي كود مخصص، فحاول إدراجه أو إضافته في أعلى الملف، قبل علامة # BEGIN WordPress .

لا تفعل: ولكن تجنب إدراج أو إضافة التعليمات البرمجية المخصصة الخاصة بك بين علامات WordPress لأنه سيتم حذفها أو استبدالها عندما يقوم WordPress بتحديث إعداداته. للحفاظ على إعداداتك المخصصة آمنة، ضعها دائمًا خارج هذه العلامات.


WPOven

2. تجنب إضافة القواعد أو تحريرها بين علامات أو علامات المكونات الإضافية

تمامًا مثل علامات WordPress، يُطلب منك أيضًا تجنب تحرير أو إضافة قواعد بين علامات أو علامات المكونات الإضافية.

وذلك لأن المكونات الإضافية يمكنها أيضًا إضافة قواعدها الخاصة إلى ملف .htaccess المشابه لـ WordPress، وعندما تفعل ذلك، فإنها تحجز المنطقة بعلامات أو علامات خاصة تتضمن اسم المكون الإضافي.

على سبيل المثال، إذا أضاف مكون إضافي يسمى "WProcket" قواعد، فسيتم وضع علامة عليها باستخدام # BEGIN WP Rocke t Browser Cache و # END WP Rocket Browser Cache.

Avoid adding or editing rules between the Plugin markers or Tags
تجنب إضافة القواعد أو تحريرها بين علامات أو علامات المكونات الإضافية

وهذا يعني أن أي تعليمات أو قواعد يضيفها البرنامج الإضافي بين هاتين العلامتين يتم التحكم فيها بالكامل بواسطة البرنامج الإضافي فقط. في حالة قيامك بتغيير إعدادات المكون الإضافي، فسوف يقوم بتحديث هذه القواعد ومن المحتمل أن يحل محل أي شيء بين تلك العلامات أو العلامات.

لذا، إذا كان لديك أي قواعد مخصصة لا تريد أن تفقدها، فلا تضعها بين هذه العلامات الخاصة بالمكونات الإضافية.

أضف قواعد مخصصة باستخدام علامات أو علامات مخصصة

بدلاً من ذلك، يمكنك إنشاء علامات أو علامات لإضافة أي قواعد مخصصة لديك وإبقائها منفصلة عن الأقسام التي تم إنشاؤها بواسطة 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 الخاص بك.

ثم انقر بزر الماوس الأيمن على الملف وحدد "أذونات الملف".

Set file permission to avoid WordPress from overwriting .htaccess file
قم بتعيين إذن الملف لتجنب قيام WordPress بالكتابة فوق ملف .htaccess

ستظهر نافذة منبثقة تحتوي على جميع سمات الملف، حيث يكون الإعداد الافتراضي عادةً هو 644، ولكن يمكنك تغيير هذا إلى 444 إما عن طريق إدخال القيمة مباشرة في حقل "القيمة الرقمية" أو التأكد من أن "القراءة" فقط يتم فحص المربعات.

Set file attributes in the .htaccess file to read-only.
قم بتعيين سمات الملف في ملف htaccess للقراءة فقط

من خلال تعيين أذونات ملف .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 للتحرير.

Opening Wp-config.php file
فتح ملف Wp-config.php

4. قم بإضافة السطر التالي يدوياً إلى الملف كما هو موضح في الصورة

add_filter('got_rewrite', '__return_false');

Inserting code in the Wp-config.php file to stop WordPress from overwriting the .htaccess file
إدخال تعليمات برمجية في ملف Wp-config.php لمنع WordPress من الكتابة فوق ملف .htaccess

5. بعد إضافة الكود، احفظ الملف.

6. بمجرد الحفظ، لن يتمكن WordPress من إجراء أي تعديلات على الملف، بما في ذلك التغييرات على تنسيق عنوان URL أو الإعدادات الأخرى ذات الصلة.

بمجرد اتباع هذه الطريقة، لن يتمكن WordPress من إجراء أي تعديلات أو الكتابة فوق ملف .htaccess.


WPOven Dedicated Hosting

خاتمة

يقال دائما أن الوقاية خير من العلاج. وبالمثل، يمكنك اتخاذ تدابير وقائية مثل تجنب إضافة أو تحرير القواعد بين علامات أو علامات WordPress، وكذلك بين علامات وعلامات مكون WordPress الإضافي.

بالإضافة إلى ذلك، يمكنك إعداد بعض القواعد واستخدام طريقة القراءة فقط لمنع أي تعديلات على ملف .htaccess بشكل كامل.

نأمل أن تساعدك الطرق المذكورة أعلاه في إيقاف WordPress من الكتابة فوق ملف .htaccess . إذا كان لديك أي استفسار بخصوص هذا المنشور، فيرجى إخبارنا بذلك في قسم التعليقات أدناه.


الأسئلة المتداولة

هل ستتأثر قواعد .htaccess المخصصة الخاصة بي بعمليات ترقية WordPress؟

لا، لن تتأثر قواعد .htaccess المخصصة الخاصة بك بترقيات WordPress إذا تم وضعها خارج علامات # BEGIN WordPress و # END WordPress . يقوم WordPress بتعديل الكود الموجود بين هذه العلامات فقط.

هل هناك أي عيوب لاستخدام أجزاء من .htaccess المخصص؟

نعم، يمكن لقواعد .htaccess المخصصة أن تؤدي إلى تعقيد الأمر، مما قد يؤدي إلى تعارضات أو أخطاء. إذا لم تقم بتكوين القواعد بشكل صحيح، فقد يؤثر ذلك أيضًا على أداء موقعك أو يسبب مشكلات في الخادم. بالإضافة إلى ذلك، قد تتطلب هذه القواعد تحديثات إذا تم تغيير تكوينات الخادم أو المكونات الإضافية أو WordPress نفسه. هناك أيضًا مخاطر أمنية، حيث يمكن أن تؤدي القواعد غير الصحيحة إلى إنشاء ثغرات أمنية عن غير قصد إذا لم تتم إدارتها بعناية.

كيف يمكنني التأكد من أنه عندما أقوم بتحديث مكون إضافي، فإن قواعد htaccess المخصصة الخاصة بي لن تضيع؟

للحفاظ على قواعد .htaccess المخصصة الخاصة بك آمنة عند تحديث المكونات الإضافية، تأكد من وضع قواعدك خارج علامتي # BEGIN و # END التي يستخدمها WordPress والمكونات الإضافية. يمكنك أيضًا إنشاء علاماتك الخاصة لإبقاء قواعدك منفصلة. قم بعمل نسخة احتياطية من ملف .htaccess بانتظام حتى تتمكن من استعادته بسهولة إذا لزم الأمر. بعد تحديث المكونات الإضافية، تحقق من ملف .htaccess للتأكد من أن القواعد المخصصة الخاصة بك لا تزال موجودة ولم يتم فقدانها.