دليل المبتدئين إلى .htaccess
نشرت: 2023-10-25.htaccess – الكلمة المخيفة التي يسمعها كل من يملك موقعًا على شبكة الإنترنت بين الحين والآخر. في حين أن الاسم نفسه يجعل الأمر يبدو وكأنه تقني للغاية بحيث لا يمكن فهمه، إلا أنه أداة قوية يجب أن تمتلكها في ترسانتك. من خلال التعرف على .htaccess وكيفية عمله وحالات الاستخدام المحتملة، هناك ما يكفي من الأشياء التي يمكنك القيام بها دون عناء. دعنا نتعمق في ماهيته، وكيف يمكنك استخدامه لصالحك، ونحصل على الأمثلة والشروحات الأكثر فائدة للاستخدامات الأكثر شيوعًا لـ .htaccess!
ما هو .htaccess؟
اختصار "الوصول إلى النص التشعبي"، يعد .htaccess ملف تكوين، والذي يمكن أن يساعدك في التحكم في برنامج Apache Web Server. يمكنك إنشاء ملف .htaccess وإضافته إلى الدليل بحيث يتم تحميله وتنفيذه لاحقًا بواسطة خادم الويب Apache.
لتبسيط الأمر، يمكنك استخدام هذا الملف لتمكين أو تعطيل أي وظيفة يقدمها خادم الويب. بدءًا من إعادة التوجيه الأساسية أو منع الارتباط السريع، هناك فوائد متعددة للتحكم في العمل باستخدام .htaccess.
كيف يبدو ملف .htaccess؟
ملف .htaccess هو ما تصنعه منه. ويمكن أن يحتوي على سطر واحد فقط أو عدة أسطر، حسب الغرض من الملف. هناك العديد من الأشياء التي يمكنك كتابتها في الملف للقيام بالعديد من الأشياء، وبعض الأمثلة ستجدها أثناء قراءتك.
هل لدي واحدة بالفعل؟
في معظم الحالات، إذا كان لديك موقع ويب، فمن المحتمل أن يكون لديك ملف .htaccess بالفعل. يمكنك عادةً العثور عليه في المجلد الجذر لموقع الويب الخاص بك. ما عليك سوى التوجه إلى المجلد الذي يحتوي على كافة محتويات موقع الويب الخاص بك، والبحث عن المجلد Public_HTML، أو المجلد المسمى www. إذا كان لديك أدلة فرعية لمواقع متعددة، فستجد واحدًا في كل دليل فرعي.
إذا لم تتمكن من العثور عليه، فلا تقلق. هذا لا يعني أنك لا تملكه، بل يمكن أن يكون مخفيًا. هذا هو الحال عادة مع الملفات التي تبدأ بنقطة، تمامًا كما يفعل .htaccess. افتراضيًا، ليس من السهل عادةً اكتشافها.
ما عليك سوى الانتقال إلى مدير الملفات أو عميل FTP، والبحث عن خيار "إظهار الملفات المخفية". لا تترك أي خيار دون تغييره، وخاصة "التفضيلات" أو "الإعدادات" أو "الخيارات".
يبدو أنني لا أملك واحدة.
ومع ذلك، لا داعي للعرق، لأنه يمكنك إنشاء واحدة بسهولة. ما ستحتاجه هو محرر نصوص عادي وبعض الاهتمام بالتفاصيل. يمكنك استخدام Microsoft WordPad، أو TextPad على سبيل المثال. لكن الجزء الصعب هو التأكد من تسمية ملف htaccess وحفظه بشكل صحيح.
أولا، تحتاج إلى حفظه بالتنسيق الصحيح. يجب أن يكون بتنسيق ASCII، لذا قاوم إغراء حفظه بتنسيق UTF-8 أو أي تنسيق آخر.
ثانيًا، تأكد من أنه يسمى .htaccess. يبدو هذا واضحًا جدًا، ولكن هذا هو في الواقع حيث يأتي دور الاهتمام بالتفاصيل. تريد التأكد من الاحتفاظ بالنقطة في البداية. الخطوة التالية هي التأكد من عدم تضمين أي امتداد للملف. إن حفظه باسم "htaccess.txt" لن يصل إلى خط النهاية. أضف النقطة وأزل الامتداد!
وأخيرًا، تريد تحميله إلى الدليل المناسب. يمكنك الرجوع إلى الدليل وحفظه في أحد الأدلة المذكورة أعلاه. للقيام بذلك، يمكنك استخدام FTP أو أي مدير ملفات آخر يعتمد على المتصفح الذي يناسبك.
ماذا يمكنني أن أفعل بـ .htaccess؟
هناك العديد من الأشياء التي يمكنك تحقيقها باستخدام .htaccess والقليل من المعرفة بكيفية القيام بذلك. وهنا بعض منهم:
معالجة الأخطاء
أول شيء، وواحد من أبسط الأشياء في ذلك، الذي يمكنك القيام به باستخدام .htaccess، هو التأكد من أن زوار موقعك يرون رسالة خطأ مألوفة ومخصصة، بدلاً من الرسالة المخيفة.
ما تريد القيام به هو إنشاء مستند HTML أولاً. ومن المستحسن أن يحتوي على وصف الخطأ، على سبيل المثال، "لم يتم العثور عليه" للأخطاء 404، أو "بوابة سيئة" للأخطاء 502. رغم ذلك، فالحقيقة هي أنه يمكنك عرض أي محتوى تريده.
يجب عليك أيضًا التأكد من تسميته بشكل صحيح حتى تعرف المستند الذي هو عليه. إذا كان يعالج خطأ 404، فإن الطريقة الشائعة لحفظه هي 404.html. أنت تريد أيضًا حفظه في دليل error_pages، الذي يجب أن يحتوي على جميع مستندات الخطأ.
بمجرد أن يصبح ذلك جاهزًا، يجب عليك فتح ملف .htaccess الخاص بك في محرر مفضل، واكتب شيئًا مثل هذا:
ErrorDocument 404 /error_pages/404.html
سيخبر هذا السطر خادم موقع الويب الخاص بك بعرض المستند المعين عند حدوث خطأ 404. يمكنك أيضًا تكرار هذه العملية مع أي مستندات خطأ تريدها، للتأكد من أن زوار موقعك لا يشعرون بالإحباط بسبب الرسالة البسيطة والعامة التي يتلقونها عادةً.
عمليات إعادة التوجيه البسيطة
على الرغم من أن WordPress قد يحتوي على العديد من المكونات الإضافية للقيام بذلك نيابةً عنك، إلا أنه يمكنك أيضًا إعادة توجيه زوار موقعك باستخدام ملف .htaccess. يعد نقل زوار موقعك إلى الصفحة التي حددتها بدلاً من الصفحة التي طلبوها مهمة بسيطة أخرى. ومن خلال إدخال سطر آخر إلى الملف، يمكنك إعادة توجيه زوار موقعك إما إلى مكان آخر داخل موقع الويب الخاص بك أو حتى إلى موقع ويب آخر أيضًا.
لإعادة توجيههم، إليك مثال لما يمكنك إضافته إلى ملف .htaccess. يجب عليك بالطبع تعديله قليلاً ليناسب احتياجاتك.
إعادة توجيه /old_dir/ http://www.yourdomain.com/new_dir/index.html
دعنا نوضح ذلك حتى تعرف كيفية تخصيص ذلك للتأكد من أن زوار موقعك سينتهي بهم الأمر في المكان الذي تريدهم أن يصلوا فيه.
أولاً، ماذا سيكون /old_dir/؟ إنه دليل أو مستند موجود ضمن نطاقك، أو بشكل أكثر دقة، سيكون موجودًا في "http://www.yourdomain.com/old_dir/". هذه هي النقطة التي سيحاول زوار موقعك الوصول إليها. يحدد باقي الملف المكان الذي يجب أن ينتهي به الأمر بدلاً من ذلك. في هذه الحالة، سينتهي بهم الأمر في صفحة فهرس /new_dir/ على موقع الويب الخاص بك.
كما ترون، على عكس نقطة البداية، فإن الصفحة التي تريد أن يصل المستخدمون إليها هي عنوان URL كامل. يساعد هذا عند إعادة التوجيه إلى نطاق آخر، حيث يمكنك استخدام أي عنوان URL وإضافته بدلاً من العنوان الموجود في المثال. قطعة من الكعكة، أليس كذلك؟
حماية كلمة المرور
إذا كنت تتطلع إلى بناء مجتمع حول موقع الويب الخاص بك، فإن توفير منطقة الأعضاء وتسجيل دخول الزوار يمكن أن يكون مجرد خدعة. على الرغم من أن المجتمع يعد أمرًا رائعًا فيما يتعلق بجهودك التسويقية والمبيعات، إلا أنه يمكن أن يساعد أيضًا في تكوين فكرة عن هوية المستخدمين لديك، وفي جمع المعلومات التي تشتد الحاجة إليها حول عملائك.
طالما أنك متوافق مع اللائحة العامة لحماية البيانات، يمكنك استخدام هذه الخدعة الرائعة لتعديل عرضك بناءً على المعلومات التي تجمعها، وفي النهاية – بيع المزيد!
كيفية حماية كلمة المرور؟
تعد فرصة إضافة كلمة مرور إلى أي شيء على موقع الويب الخاص بك هي الطريقة الأكثر شيوعًا لاستخدام ملفات htaccess. من السهل أيضًا القيام بذلك، ولا يزال بإمكانك حماية دليل أو عدد قليل منه بكلمة مرور. سيؤدي هذا إلى حصول المستخدمين على اسم مستخدم وكلمة مرور صالحين للوصول إليه، وهو ما قد يكون مفيدًا في مجموعة متنوعة من المواقف.
إذا قمت بإعداد حماية بكلمة مرور للأدلة، فسيكون إجراء تسجيل الدخول بسيطًا إلى حد ما، وسيتعامل معه متصفح الويب الخاص بك تلقائيًا. وسوف تظهر كواجهة منبثقة للمتصفح. يتم أيضًا تشفير كلمات المرور، وبالتالي فإن بيانات اعتماد تسجيل الدخول ستكون آمنة أيضًا.
إذا كنت تعرف الدليل الذي تريد حمايته بكلمة مرور، فقم بإنشاء ملف htaccess. يرجى أن تضع في اعتبارك أن جميع الدلائل الفرعية ستكون محمية بكلمة مرور أيضًا! تنطبق نفس القواعد هنا أيضًا، ولكنك ترغب في تضمين ما يلي:
اسم المصادقة "اسم العضو"
AuthUserFile /path/to/password/file/.htpasswd
نوع المصادقة الأساسي
تتطلب مستخدمًا صالحًا
دعنا نقسمها حتى تعرف كيفية تعديلها إذا لزم الأمر. في السطر الأول، يحدد ملف .htaccess اسم الدليل الذي ترغب في حمايته. في هذه الحالة، يكون الدليل "اسم العضو"، ولكن يجب عليك تعديله ليناسب اسم الدليل الذي يجب أن يكون تحت كلمة مرور.
يحدد السطر الثاني ملف كلمة المرور، أو لنكون أكثر دقة، حيث يمكن للخادم العثور على ملف كلمة المرور. والثالث هو نوع التفويض الذي تستخدمه. في المثال، يعد هذا رمزًا أساسيًا لمصادقة HTTP الأساسية.
يشير السطر الأخير إلى متطلبات تسجيل الدخول. في هذا المثال، يتطلب بيانات اعتماد تسجيل دخول صالحة. يمكنك هنا تحديد ما هو مطلوب ليكون صالحًا، اعتمادًا على ما تحاول حمايته بكلمة مرور.
ملف كلمة المرور
الآن، تحتاج إلى معرفة ملف كلمة المرور. على الرغم من أنه يمكن أن يكون موجودًا في أي مكان على خادم الويب الخاص بك، فمن المستحسن أن يكون ملف كلمة المرور موجودًا في نفس الدليل مثل ملف .htaccess. وذلك لأن بعض الخوادم تتطلب إعداد هذا. يجب عليك استخدام المسار الكامل للدليل، الذي يحتوي على ملف كلمة المرور، في السطر الثاني.
بالطبع، هذا يعني أيضًا أنه يجب أن يكون لديك ملف كلمة المرور جاهزًا. في المثال، يُسمى .htpasswd، ولكن يمكنك تسميته بأي شيء تريده. ومع ذلك، إذا قمت بتسميته بنفس الاسم، فالخبر السار هو أن الخادم سيتعرف على اسم الملف هذا ويخفيه عن الزائرين تلقائيًا. يجب أن يحتوي ملف كلمة المرور على شيء على غرار:
اسم المستخدم: كلمة المرور المشفرة
جون_سميث:oCF9Pam/MXJg2
منع الوصول للزوار
حتى مع مواقع الويب، هناك أشخاص غير مرغوب فيهم. باستخدام ملف .htaccess الصحيح، يمكنك تقييد وصول شخص ما. أو، من ناحية أخرى، السماح بوصول محدد لزائر معين. الأول مفيد إلى حد ما إذا كنت تتطلع إلى حماية موقع الويب الخاص بك، والأخير مثالي إذا كنت تريد التحكم الكامل في جانب معين من موقعك.
يمكنك رفض وصول الزوار بطريقتين. قم برفض وصول زوار موقعك اعتمادًا على عنوان IP الخاص بهم، أو يمكنك الاختيار بناءً على المُحيل.
الرفض عن طريق IP
إذا كنت تريد وضع بعض عناوين IP في القائمة السوداء، فيمكنك القيام بذلك دون عناء مع القليل من المساعدة من ملف htaccess الخاص بك. قم بإنشاء واحدة جديدة، باتباع نفس القواعد، ثم قم بإضافة النص التالي.
السماح بالأمر، الرفض
رفض من XXX.XXX
رفض من XXX.XX.X.
السماح من الجميع
بالطبع، يجب عليك استبدال Xs بعنوان IP الذي ترغب في حظره. أضف العدد الذي تريده، وسيسمح هذا الملف لخادم الويب بمعرفة أن عناوين IP هذه غير مرحب بها على موقعك. تأكد من إضافة السماح من الجميع، حيث يشير هذا السطر إلى أن الزوار الآخرين مرحب بهم للغاية في موقع الويب الخاص بك.
من ناحية أخرى، إذا كنت تريد أن تكون الوحيد الذي يتمتع بحق الوصول، فيجب عليك تضمين النص التالي بدلاً من ذلك:
السماح بالأمر، الرفض
السماح من XXX.0.0.0
رفض من الجميع
بالطبع، يجب عليك استبدال Xs بعنوان IP الخاص بك. سيخبر هذا الخادم أنه يجب أن يكون لديك فقط حق الوصول إلى مكان معين.
الرفض عن طريق المرجع
بالنظر إلى سجلاتك، لاحظت نشاطًا مشبوهًا. لماذا لا تقوم فقط بإضافة المُحيل إلى القائمة السوداء وتتخلص من القلق؟ إليك كيفية القيام بذلك باستخدام .htaccess.
فقط قم بإنشاء الملف كما تفعل عادة. يجب أن يبدو الإدخال كما يلي:
إعادة كتابة المحرك قيد التشغيل
# خيارات +FollowSymlinks
إعادة كتابة Cond %{HTTP_REFERER} نطاق آخر\.com [NC]
إعادة كتابة القاعدة .* – [F]
هذا ينبغي أن تفعل خدعة! يجب عليك التحقق مما إذا كان "mod_rewrite" ممكّنًا على الخادم الخاص بك، لأنه قد يتم تعطيله لأنه قد يفرض طلبًا كبيرًا على الموارد. إذا كان الأمر كذلك، فيجب عليك التحقق من ذلك مع مزود الاستضافة الخاص بك.
في جوهرها، تتيح هذه السطور للخادم معرفة أنه لا يوجد أي شخص من نطاق آخر\.com مرحب به على موقع الويب الخاص بك. وبطبيعة الحال، يجب عليك إضافة المجال المناسب هنا، بدلا من ذلك. يعد الجزء "[NC]" في النهاية مهمًا جدًا أيضًا، لأنه يتيح له معرفة أن اسم النطاق الذي قدمته ليس حساسًا لحالة الأحرف. مما يعني أن "المجال الآخر" محظور أيضًا.
إذا كنت تتطلع إلى حظر العديد من مثيري المشاكل، فأضف "[NC,OR]" بدلاً من ذلك، ثم تابع وأضف مثيرًا آخر بنفس الطريقة:
أعد كتابة Cond %{HTTP_REFERER} Anotherdomain\.com
يمكنك الاستمرار في القيام بذلك حتى تشعر بالسعادة، لكن لا تنس إضافة "[NC,OR]" في نهاية كل واحدة، باستثناء الأخيرة.
منع الروبوتات السيئة من فحص موقع الويب الخاص بك
سبب مثالي آخر لاستخدام .htaccess هو منع برامج الزحف على موقع الويب الخاص بك. في حين أن هناك برامج غير ضارة، تقوم بتنزيل المحتوى بالكامل لتصفحه في وضع عدم الاتصال، إلا أن هناك برامج ذات نوايا خبيثة. على وجه التحديد، الإنترنت مليء بالروبوتات السيئة، التي تبحث عن عناوين البريد الإلكتروني لملء رسائل البريد الإلكتروني العشوائية، أو الثغرات الأمنية، أو ببساطة، للحصول على المحتوى المصدر.
على الرغم من أن هذا أكثر تقدمًا قليلاً من الأمثلة السابقة، إلا أنه يجب عليك بالتأكيد تجربته. إن منع هذه الروبوتات السيئة من إلحاق أي ضرر بك أمر لا بد منه، بهذه الطريقة أو بأخرى.
ما عليك سوى إنشاء ملف .htaccess آخر كما فعلت في الأمثلة السابقة. ما ستحتاج إلى كتابته فيه يشبه هذا:
إعادة كتابة المحرك قيد التشغيل
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot
قاعدة إعادة الكتابة ^.* – [F,L]
الحقيقة هي أن القائمة يجب أن تكون أطول بكثير، حيث ينبغي أن تشمل جميع روبوتات الخفافيش المعروفة. يمكنك العثور على مثل هذه القائمة هنا. كلما قمت بتضمين المزيد منهم، كلما كان ذلك أفضل.
ومع ذلك، تأكد من إعادة تسميته – استخدم اسم الروبوت بدلاً من BlackWidow أو SuperBot. قم دائمًا بتضمين [OR] في نهاية كل واحدة، ولكن تأكد من عدم استخدامها مع الأخيرة. هاهو! موقع الويب الخاص بك خالٍ من جميع برامج الزحف الضارة هذه!
هل يوجد المزيد؟
بالطبع هناك. كما قيل، هذا دليل للمبتدئين، بعد كل شيء. هناك العديد من الأشياء الإضافية التي يمكنك القيام بها باستخدام ملفات .htaccess.
على سبيل المثال، يمكنك استخدام ملفات htaccess لتعيين المنطقة الزمنية للخادم أو لتغيير توقيعه. إذا كان موقع الويب الخاص بك يعتمد بشكل كبير على الوسائط، فيمكنك استخدامه للتأكد من تنزيل جميع ملفات الوسائط، بدلاً من تشغيلها. أو يمكنك استخدامه لمنع الطلبات التي تتضمن أحرفًا غير صالحة وغير ذلك الكثير.
بينما حتى محاولة تهجئة .htaccess تمثل مشكلة، فإن استخدام واحد، كما ترون هو قطعة من الكعكة، بينما لا يزال بإمكانك إنجاز الكثير باستخدامه!
ما عليك أن تضعه في الاعتبار عند إنشاء ملفك وتحريره، هو اختباره بدقة بعد إجراء أي تغييرات قبل دفعه للنشر. أنت لا ترغب في تزويد المستخدمين بخطأ داخلي في الخادم يبلغ 500، أليس كذلك؟
النصيحة الأخيرة
حتى لو لم يعمل شيء ما بشكل صحيح، لا تشعر بالإحباط الشديد. تحقق من الأخطاء المطبعية، وهذا عادةً ما يفي بالغرض! إذا لم يحدث ذلك، تحقق من منتديات الدعم!