المستندات / ‏.htaccess — الوضعان، وأيّهما تريد

‏.htaccess — الوضعان، وأيّهما تريد

إن أضفت شيئًا إلى .htaccess فتصرّف الموقع كأنك لم تفعل، فاقرأ هذا أولًا. لا شيء معطّل — موقعك على الأرجح في الوضع الذي يترجم .htaccess بدلًا من قراءته، والترجمة تغطّي القواعد الشائعة، لا كلها.

افتح النطاقات ← Apache / ‏.htaccess. تقول الشارة أعلى البطاقة أيّ وضع هذا الموقع فيه.

الوضعان

مُترجَم (الافتراضي). يُحوَّل ملف .htaccess الخاص بك إلى قواعد خادم الويب السريع نفسه. تعمل التوجيهات الشائعة. أي شيء لا يستطيع المُحوِّل إعادة إنتاجه يُتخطّى، ويُدرَج لك في الجدول أسفل البطاقة. لا يُطبَّق التغيير في الملف إلا بعد أن تضغط ترجمة الآن — لا يُقرأ الملف على كل طلب.

‏.htaccess الكامل. يُقرأ ملفك مباشرة، بالضبط كما كان على cPanel. تعمل كل توجيهة يدعمها Apache، ويُطبَّق التغيير على الطلب التالي مباشرةً. أبطأ قليلًا من الوضع المُترجَم، لأن كل طلب يمرّ بخطوة إضافية واحدة.

أيّهما تريد

ابقَ على مُترجَم إن كان ملف .htaccess الخاص بك كتلة روابط WordPress دائمة، أو إعادة توجيه فرض HTTPS، أو إعادة توجيه www/non-www، أو سطر Redirect، أو مفتاح قائمة مجلد، أو حماية basic-auth. هذه معظم المواقع، وهذا هو المسار الأسرع.

فعّل ‏.htaccess الكامل إن:

  • كان الجدول أسفل البطاقة يُدرِج توجيهات تحتاجها فعلًا،
  • كنت تضبط قيم PHP من .htaccess (php_value، php_flag) — فهذه لا تُطبَّق أبدًا في الوضع المُترجَم، مهما قال الملف،
  • كنت تستخدم SetEnv، SetEnvIf، RequestHeader، AddType، AddHandler، أو قواعد إعادة كتابة بشروط يحذّر منها المُحوِّل،
  • أو كنت تنقل موقعًا من مكان آخر وتفضّل ألّا تراجع ملف .htaccess الخاص به إطلاقًا.

لا عقوبة على اختيار الدعم الكامل عدا قدر ضئيل من الكمون. لا رسوم، ولا خطوة إضافية بعده، ولا إعداد.

قراءة الجدول

أسفل بطاقة الوضع، كل صف هو توجيهة واحدة لم يستطع المُحوِّل إعادة إنتاجها، مع رقم سطرها وما يجب فعله بشأنها.

  • في وضع مُترجَم، تقول الملاحظة فوق الزر كم منها يُتجاهَل الآن. تلك القواعد لا تعمل.
  • في وضع ‏.htaccess الكامل، تظهر القائمة نفسها، لكن الملاحظة تقول إنها تعمل — القائمة تهمّ فقط إن بدّلت يومًا رجوعًا.

إن كان الجدول فارغًا، فلا شيء في .htaccess الخاص بك يضيع، والوضع المُترجَم يفعل كل ما يطلبه الملف.

التبديل

زر واحد. في الوضع المُترجَم يقرأ تشغيل دعم ‏.htaccess الكامل؛ وفي الوضع الكامل يقرأ التبديل إلى المُترجَم (أسرع).

  • يستغرق بضع ثوانٍ. تقول البطاقة يُطبَّق — قد يستغرق بضع ثوانٍ… أثناء العمل.
  • موقعك لا يتوقف. يُوضَع المسار الجديد قبل أن يُزال القديم، في كلا الاتجاهين، وإن فشل أي جزء أُعيد الجانبان كما كانا.
  • لا يتغيّر شيء آخر عن الحساب. ملفاتك، وجذر مستندك، وإصدار PHP، وشهادتك، وHTTPS كله يبقى بالضبط كما هو عليه. لا يزال PHP الخاص بموقعك يعمل كمستخدمك أنت، معزولًا عن كل حساب آخر على الخادم، في كلا الوضعين.
  • تبقى عناوين الزوار في سجل الوصول عناوين الزوار الحقيقية.
  • يمكنك التبديل رجوعًا في أي وقت، بقدر ما تشاء.

القدوم من cPanel

لا يتعيّن عليك فعل شيء. حين يُستورَد حساب من نسخة cPanel احتياطية، يترجم المُستورِد ملفات .htaccess التي يجدها، وإن تعذّر ترجمة أي توجيهة يُوضَع الحساب في وضع ‏.htaccess الكامل مباشرةً. يتصرّف الموقع كما كان على الخادم القديم من أول طلب.

يُظهِر تقرير الاستيراد هذا كسطرين: كم قاعدة تُرجِمت وكم تحتاج مراجعة، ثم ما إذا كان الوضع قد بُدِّل.

المواقع التي لم تحتج قط إلى شيء غير عادي تبقى على المسار المُترجَم الأسرع.

عندما يبدو شيء ما خاطئًا

قاعدة لا تزال لا تفعل شيئًا بعد أن حرّرت الملف، وأنت في الوضع المُترجَم. اضغط ترجمة الآن. في هذا الوضع يُقرأ الملف حين تطلب، لا على كل طلب.

تجيب كل صفحة بـ HTTP 500 مباشرةً بعد تشغيل الدعم الكامل. بدّل رجوعًا — الزر يعيدك إلى حيث كنت — وأخبِر مزوّد استضافتك بما حدث. هذا يعني أن Apache على ذلك الخادم يفتقد وحدة يحتاجها ملفك (RewriteEngine On هي المعتادة). إنه إعداد من جهة الخادم، لا شيء يمكنك إصلاحه من حسابك.

تجيب كل صفحة بـ 502 وأنت في الوضع الكامل. عملية Apache على الخادم لا تعمل. المواقع في الوضع المُترجَم غير متأثرة، وهذا أمر مفيد لإخبار مزوّدك به.

يُرفَض التبديل برسالة عن منافذ Apache. نفد من الخادم عدد الفتحات التي يخصّصها لهذا الوضع. مزوّدك وحده يمكنه رفعه.

بلاطة Apache / ‏.htaccess ليست في لوحتك إطلاقًا. إما أن باقة استضافتك لا تتضمّنها، أو أن الخادم لم يُعدّ وApache متاح. اسأل مزوّدك أيّهما.

ما لا يغيّره الوضع الكامل

  • شهادتك. يُنهى HTTPS قبل أن يرى Apache الطلب إطلاقًا، لذا الإصدار والتجديد غير متأثرَين.
  • العزل. يعمل PHP كمستخدم حسابك في كلا الوضعين.
  • أرقام عرض النطاق وإحصائيات الزوار.
  • أي حساب آخر على الخادم. هذا الإعداد خاص بك وحدك — يُبتّ لكل حساب، لا لكل خادم.