ملف .htaccess

ملف .htaccess مفتوح في محرر نصوص
ملف.htaccess

ملف .htaccess ( اختصار لـ " الوصول إلى النص التشعبي ") هو ملف إعدادات على مستوى الدليل ، تدعمه العديد من خوادم الويب ، ويُستخدم لضبط إعدادات الوصول إلى مواقع الويب، مثل إعادة توجيه عناوين URL ، والتحكم في الوصول ، ومعالجة أنواع MIME . تُشير النقطة في بداية الملف إلى أنه ملف مخفي في بيئات شبيهة بنظام يونكس .

قد يحتوي الموقع على أكثر من .htaccessملف واحد. توضع هذه الملفات داخل شجرة الويب - داخل الدلائل ودلائلها الفرعية - ولهذا السبب تُسمى أيضًا ملفات التكوين الموزعة . [ 1 ]

يعمل كل .htaccessملف كنسخة محلية بديلة لملف التكوين الرئيسي للخادم (مثل httpd.conf) للدليل الذي يشغله وجميع الأدلة الفرعية الموجودة تحته. [ 2 ]

كان الغرض الأصلي - كما يتضح من الاسم - هو التحكم في الوصول لكل مجلد، على سبيل المثال، اشتراط كلمة مرور للوصول إلى محتوى الويب. أما .htaccessالآن، فتُستخدم الملفات عمليًا لضبط العديد من الإعدادات الأخرى: أنواع المحتوى، وتشفير الأحرف ، ومعالجات CGI ، وقواعد إعادة كتابة عناوين URL.

تاريخ

نشأ تنسيق الملف هذا .htaccessمع خادم NCSA HTTPd ، حيث تم تقديمه لتمكين مستخدمي الاستضافة المشتركة من التحكم في الوصول إلى مجلداتهم الخاصة دون تعديل إعدادات الخادم العامة. وعندما تأسس مشروع خادم Apache HTTP عام 1995 كامتداد لـ NCSA HTTPd، احتفظ بالتنسيق واسم الملف لضمان التوافق. [ 1 ] أضافت خوادم ويب أخرى، بما في ذلك خادم Oracle iPlanet وخادم Zeus ، دعمًا لهذا التنسيق لاحقًا، .htaccessعلى الرغم من اختلاف تنسيقات إعداداتها الأصلية اختلافًا كبيرًا.

الشكل واللغة

.htaccessتستخدم الملفات مجموعة فرعية من صيغة توجيهات خادم Apache HTTPhttpd.conf ، وهي نفس صيغة ملف التكوين الرئيسي للخادم . [ 3 ] التوجيهات عبارة عن تعليمات نصية عادية، واحدة في كل سطر، يفسرها Apache عند كل طلب.

تقبل بعض التوجيهات، وخاصة تلك التي يوفرها mod_rewrite ، التعبيرات النمطية باستخدام صيغة PCRE . يُستخدم PCRE فقط ضمن هذه التوجيهات المحددة (مثل RewriteRuleو RewriteCond)؛ فهو ليس خاصية من .htaccessخصائص الصيغة نفسها.

لأسباب تاريخية، يتم التعرف على هذا التنسيق بواسطة خوادم مثل Oracle iPlanet Web Server [ 4 ] و Zeus Web Server ، على الرغم من أن هذه الخوادم تستخدم تنسيقات تكوين أصلية مختلفة.

الاستخدام الشائع

التفويض والمصادقة
يُستخدم ملف .htaccessعادةً لتقييد الوصول إلى دليل معين. وغالبًا ما يكون مقترنًا بملف .htpasswdيخزن أسماء المستخدمين وتجزئات كلمات المرور . [ 5 ]
إعادة كتابة عناوين URL
تستخدم الخوادم .htaccessوحدة mod_rewrite لإعادة كتابة عناوين URL الطويلة أو المعقدة إلى أشكال أقصر وأكثر قابلية للقراءة.
التحكم في الوصول
Allowتقوم التوجيهات Deny(أو Requireفي Apache 2.4) بتقييد الوصول عن طريق عنوان IP أو النطاق أو معايير أخرى، ويمكنها حظر الروبوتات أو المحيلين غير المرغوب فيهم.
يتضمن جانب الخادم
يُمكّن هذا Options +Includesالتوجيه من معالجة تضمين الملفات من جانب الخادم لدليل معين.
دليل الهاتف
يتحكم هذا Optionsالتوجيه فيما إذا كان الخادم يقوم بإنشاء فهرس تلقائي عندما لا يكون هناك مستند افتراضي.
استجابات مخصصة للأخطاء
يقوم التوجيه ErrorDocumentبربط رموز أخطاء HTTP - مثل 404 غير موجود أو 301 تم النقل بشكل دائم - بالصفحات المخصصة. [ 6 ]
أنواع MIME
يُعلم هذا AddTypeالتوجيه أباتشي بكيفية تقديم الملفات ذات الامتدادات غير القياسية أو المفقودة.
التحكم في ذاكرة التخزين المؤقت
.htaccessيمكن ضبط الملفات Cache-Controlوالرؤوس Expiresعبر mod_headersأو mod_expires، مما يقلل من استخدام النطاق الترددي وحمل الخادم. [ 7 ]
HTTPS و HSTS
يتطلب فرض استخدام HTTPS على Apache عادةً RewriteRuleتوجيهات Headerفي ملف .htaccess. يمكن أن تتسبب أخطاء بناء الجملة في هذه القواعد في فشل عمليات إعادة التوجيه أو تعطل نشر HSTS.

المزايا

يسري مفعوله فوراً
لأن .htaccessالملفات تُقرأ في كل طلب، فإن التغييرات تدخل حيز التنفيذ على الفور - على عكس تكوين الخادم الرئيسي، الذي يتطلب إعادة تشغيل الخادم.
المستخدمون غير المميزين
في خوادم استضافة المواقع المشتركة ، .htaccessيسمح للمستخدمين الأفراد بتعديل تكوين الدليل الخاص بهم دون الوصول إلى ملفات التكوين الرئيسية للخادم. [ 8 ]

العيوب

يُفضل عمومًا استخدام ملف تكوين الخادم الرئيسي httpd.conf[ 9 ] لأسباب تتعلق بالأداء والأمان: [ 10 ]

أداء
يُجبر كل طلب HTTP خادم Apache على التحقق من وجود .htaccessملفات في الدليل المطلوب وفي كل دليل رئيسي يُسمح فيه بالتعديلات. على الخوادم ذات حركة المرور العالية، يُضيف هذا عبئًا ملحوظًا على نظام الملفات. يمكن ترحيل التوجيهات من [11] .htaccessإلى [ 11 ]httpd.conf للتخلص من هذا العبء.
حماية
قد يؤدي السماح للمستخدمين بتعديل إعدادات الخادم إلى ظهور مشكلات أمنية إذا لم يتم تقييد التوجيهات المسموح بها بعناية. [ 12 ]
حساسية بناء الجملة
سيعيد Apache خطأ في الخادم (عادةً 500) للدليل بأكمله إذا كان .htaccessالملف يحتوي على خطأ في بناء الجملة، مما يجعل جميع الموارد في ذلك الدليل غير قابلة للوصول.

انظر أيضاً

مراجع

  1. 1 2 "دليل خادم Apache HTTP: ملفات .htaccess" . مؤسسة برمجيات Apache . تم الاطلاع عليه في 2 مارس 2009 .
  2. "توجيه السماح بالتجاوز" . مؤسسة برمجيات أباتشي . تم الاطلاع عليه في 2 مارس 2009 .
  3. "ملفات التكوين" . مؤسسة برمجيات أباتشي . تم الاطلاع عليه في 2 مارس 2009 .
  4. "استخدام ملف .htaccess" . أوراكل . تم الاطلاع عليه في 2 مارس 2009 .
  5. "دليل أباتشي التعليمي: تنسيقات كلمات المرور" . مؤسسة برمجيات أباتشي . تم الاطلاع عليه في 2 مارس 2009 .
  6. "مساعدة أدوات مشرفي المواقع: عمليات إعادة التوجيه 301" . جوجل . تم الاطلاع عليه بتاريخ 27 مارس 2012 .
  7. "كيفية إنشاء وتعديل ملف htaccess في ووردبريس لتسريع موقعك الإلكتروني" . WP Enlight . 29 يوليو 2017. مؤرشف من الأصل في 12 سبتمبر 2017. تم الاطلاع عليه في 12 سبتمبر 2017 .
  8. "دليل أباتشي: متى (لا) تستخدم ملفات .htaccess" . مؤسسة برمجيات أباتشي . تم الاطلاع عليه في 12 يناير 2008 .
  9. "ملفات التكوين" . مؤسسة برمجيات أباتشي . تم الاطلاع عليه في 12 يناير 2008 .
  10. "متى لا يُنصح باستخدام ملفات .htaccess" . مؤسسة برمجيات أباتشي . تم الاطلاع عليه في 2 سبتمبر 2009 .
  11. "كيفية تحويل ملف .htaccess إلى إدخالات httpd.conf" . تم الاطلاع عليه في 2 سبتمبر 2009 .
  12. "حماية إعدادات النظام" . مؤسسة برمجيات أباتشي . تم الاطلاع عليه في 2 مارس 2009 .