المواقع الإلكترونية هي أجزاء مهمة من حياتنا. تخدم وسيلة لتوسيع الأعمال التجارية، ومشاركة المعرفة والكثير غيرها. في السابق كانت مقتصرة على تقديم محتويات ثابتة فقط، ومع إدخال لغات البرمجة الديناميكية على الجانبين العميل والخادم واستمرار تطور لغات البرمجة الثابتة الموجودة مثل html إلى html5، أصبح من الممكن إضافة كل جزء من الدينامية إلى المواقع الإلكترونية وما تبقى متوقع أن تتبع قريبًا في المستقبل القريب.
مع المواقع الإلكترونية، يأتي الحاجة إلى وحدة يمكنها عرض هذه المواقع لمجموعة كبيرة من الجمهور في جميع أنحاء العالم. تتم هذه الحاجة عن طريق الخوادم التي توفر وسائل لاستضافة موقع ويب. وتشمل هذه قائمة من الخوادم مثل: خادم Apache HTTP، جوملا، و ووردبريس التي تسمح للشخص باستضافة مواقعهم.

من يرغب في استضافة موقع ويب يمكنه إنشاء خادم محلي خاص به أو الاتصال بأي من المذكور أعلاه أو أي مسؤول خادم آخر لاستضافة موقعه. ولكن المشكلة الفعلية تبدأ من هذه النقطة. تعتمد أداء موقع الويب بشكل رئيسي على العوامل التالية:
- النطاق الترددي الذي يستهلكه الموقع.
- مدى أمان الموقع ضد القراصنة.
- التفاؤل عندما يتعلق الأمر بالبحث عن البيانات من خلال قاعدة البيانات
- سهولة الاستخدام عندما يتعلق الأمر بعرض قوائم الملاحة وتوفير مزيد من ميزات واجهة المستخدم.
بجانب ذلك، العوامل المختلفة التي تحكم نجاح الخوادم في استضافة المواقع هي:
- كمية ضغط البيانات التي تم تحقيقها لموقع معين.
- القدرة على خدمة عملاء متعددين يطلبون نفس الموقع أو موقع مختلف في نفس الوقت.
- تأمين البيانات السرية المُدخلة على المواقع مثل: البريد الإلكتروني، تفاصيل بطاقة الائتمان وما إلى ذلك.
- السماح بالمزيد والمزيد من الخيارات لتعزيز الديناميكية على موقع الويب.
يتناول هذا المقال ميزة واحدة مقدمة من الخوادم التي تساعد على تعزيز أداء المواقع الإلكترونية بالإضافة إلى حمايتها من الروبوتات الضارة، والروابط الساخنة وما إلى ذلك، ألا وهي ملف ‘.htaccess’.
ما هو .htaccess؟
htaccess (أو hypertext access) هي الملفات التي توفر خيارات لأصحاب المواقع للتحكم في متغيرات بيئة الخادم ومعلمات أخرى لتعزيز وظائف مواقعهم الإلكترونية. يمكن أن تتواجد هذه الملفات في أي دليل في شجرة الدلائل للموقع الإلكتروني وتوفر ميزات للدليل والملفات والمجلدات داخله.
ما هي هذه الميزات؟ حسنًا، هذه توجيهات الخادم أي الأسطر التي توجه الخادم لأداء مهمة معينة، وتنطبق هذه التوجيهات فقط على الملفات والمجلدات داخل الدليل الذي يتم وضع هذا الملف فيه. تكون هذه الملفات مخفية افتراضيًا حيث يتم تكوين جميع أنظمة التشغيل وخوادم الويب لتجاهلها افتراضيًا، ولكن جعل الملفات المخفية مرئية يمكنك رؤية هذا الملف الخاص جدًا. ما هو نوع المعلمات التي يمكن التحكم بها هو موضوع مناقشة الأقسام التالية.
ملاحظة: إذا تم وضع ملف .htaccess في الدليل /apache/home/www/Gunjit/ فسيوفر التوجيهات لجميع الملفات والمجلدات في ذلك الدليل، ولكن إذا كان هذا الدليل يحتوي على مجلد آخر يسمى: /Gunjit/images/ الذي يحتوي ملف .htaccess آخر فإن التوجيهات في هذا المجلد ستكون الأولوية على تلك التي يوفرها ملف .htaccess الرئيسي (أو الملف في المجلد الأعلى في التسلسل).
خادم Apache وملفات .htaccess
خادم Apache HTTP المعروف شعبيًا بـ Apache تم تسميته تيمنًا بقبيلة الهنود الحمر أباتشي لاحترام مهاراتها الفائقة في استراتيجيات الحرب. يعتمد على لغات البرمجة C/C++ و XML وهو خادم ويب متعدد المنصات يعتمد على خادم NCSA HTTPd وله دور رئيسي في نمو وتقدم الشبكة العنكبوتية العالمية.
يستخدم Apache بشكل شائع على أنظمة UNIX، وهو متوفر لمجموعة واسعة من المنصات بما في ذلك FreeBSD، Linux، Windows، Mac OS، Novel Netware وغيرها. في عام 2009، أصبح Apache أول خادم يخدم أكثر من 100 مليون موقع ويب.
يحتوي خادم Apache على ملف .htaccess واحد لكل مستخدم في الدليل www/. على الرغم من أن هذه الملفات مخفية يمكن جعلها مرئية إذا لزم الأمر. في الدليل www/ هناك عدد من المجلدات تتعلق كل منها بموقع ويب يحمل اسم المستخدم أو المالك. بالإضافة إلى ذلك، يمكنك وجود ملف .htaccess واحد في كل مجلد يكون مكونًا للملفات في ذلك المجلد كما هو مذكور أعلاه.
كيفية تكوين ملف htaccess على خادم Apache هو كما يلي…
التكوين على خادم Apache
يمكن أن تكون هناك حالتان:
استضافة موقع ويب على الخادم الخاص
إذا لم تكن ملفات .htaccess مُمكّنة، يمكنك تمكين ملفات .htaccess ببساطة عن طريق الانتقال إلى httpd.conf (ملف التكوين الافتراضي لخادم Apache HTTP Daemon) والبحث في قسم <Directories>.
<Directory "/var/www/htdocs">
والعثور على السطر الذي يقول…
AllowOverride None
وتصحيحه إلى.
AllowOverride All
الآن، عند إعادة تشغيل Apache، سيعمل .htaccess.
استضافة الموقع على خادم مزود خدمة استضافة مختلف
في هذه الحالة، من الأفضل استشارة مسؤول الاستضافة، إذا سمحوا بالوصول إلى ملفات .htaccess.
25 خدعة ‘htaccess’ لخادم الويب Apache للمواقع
1. كيفية تمكين mod_rewrite في ملف .htaccess
mod_rewrite الخيار يسمح لك باستخدام إعادة التوجيهات وإخفاء عنوان URL الحقيقي الخاص بك من خلال إعادة التوجيه إلى عنوان URL آخر. يمكن أن يكون هذا الخيار مفيدًا جدًا حيث يسمح لك بتبديل عناوين URL الطويلة والمملة بأخرى قصيرة وسهلة الحفظ.
للسماح بـ mod_rewrite، ما عليك سوى إضافة السطر التالي كأول سطر في ملف .htaccess الخاص بك.
Options +FollowSymLinks
يسمح لك هذا الخيار بمتابعة الروابط الرمزية وبالتالي تمكين خيار mod_rewrite على الموقع. سيتم تقديم استبدال العنوان URL بآخر قصير ومختصر لاحقًا.
2. كيفية السماح أو منع الوصول إلى المواقع
ملف htaccess يمكنه السماح أو منع الوصول إلى موقع ويب أو مجلد أو ملفات في الدليل الذي يتم وضعه فيه باستخدام الكلمات الرئيسية order، allow و deny.
السماح بالوصول إلى 192.168.3.1 IP
Order Allow, Deny Deny from All Allow from 192.168.3.1 OR Order Allow, Deny Allow from 192.168.3.1
الكلمة Order هنا تحدد الترتيب الذي سيتم فيه معالجة الوصول المسموح به والممنوع. بالنسبة للبيان ‘ Order ‘ أعلاه، سيتم معالجة البيانات المسموح بها أولاً ثم ستتم معالجة البيانات الممنوعة.
حجب الوصول لعنوان بروتوكول الإنترنت IP الوحيد
توفر الأسطر أدناه وسيلة للسماح بوصول الموقع إلى جميع المستخدمين ما عدا الذين لديهم عنوان IP: 192.168.3.1.
rder Allow, Deny Deny from 192.168.3.1 Allow from All OR Order Deny, Allow Deny from 192.168.3.1
3. إنشاء مستندات Apache Error لرموز الخطأ المختلفة.
باستخدام بعض الأسطر البسيطة، يمكننا تصحيح مستند الخطأ الذي يعمل على رموز الخطأ المختلفة التي تولدها الخادم عندما يطلب المستخدم/العميل صفحة غير متاحة على الموقع الإلكتروني مثلما رأى معظمنا صفحة ‘404 الصفحة غير موجودة‘ في متصفح الويب الخاص بهم. تحدد ملفات ‘ .htaccess ‘ ما الإجراء الذي يجب اتخاذه في حالة حدوث مثل هذه الشروط.
للقيام بذلك، يتعين إضافة الأسطر التالية إلى ملفات ‘ .htaccess ‘ :
ErrorDocument <error-code> <path-of-document/string-representing-html-file-content>
‘ ErrorDocument ‘ هو كلمة رئيسية، يمكن أن يكون رمز الخطأ أيًا من 401، 403، 404، 500 أو أي رمز خطأ صالح آخر وأخيرًا، ‘ path-of-document ‘ يمثل المسار على الجهاز المحلي (في حالة استخدامك لخادم محلي خاص بك) أو على الخادم (في حالة استخدامك لخادم آخر لاستضافة موقعك على الويب).
مثال:
ErrorDocument 404 /error-docs/error-404.html
تعيين السطر أعلاه المستند ‘ error-404.html ‘ الموجود في المجلد ‘ error-docs ‘ ليتم عرضه في حال تقديم الخادم لرمز الخطأ 404 بسبب طلب غير صالح لصفحة من قبل العميل.
rrorDocument 404 "<html><head><title>404 Page not found</title></head><body><p>The page you request is not present. Check the URL you have typed</p></body></html>"
التمثيل أعلاه صحيح أيضًا الذي يضع السلسلة التي تمثل ملف html عادي.
4. ضبط/إلغاء ضبط متغيرات بيئة خادم Apache
في ملف .htaccess يمكنك ضبط أو إلغاء ضبط المتغيرات البيئية العامة التي يسمح الخادم بتعديلها من قبل مضيفي مواقع الويب. لضبط أو إلغاء ضبط المتغيرات البيئية، تحتاج إلى إضافة الأسطر التالية إلى ملفات .htaccess الخاصة بك.
ضبط المتغيرات البيئية
SetEnv OWNER “Gunjit Khera”
إلغاء ضبط المتغيرات البيئية
UnsetEnv OWNER
5. تعريف أنواع MIME مختلفة للملفات
MIME (توسيعات الوسائط المتعددة على الإنترنت) هي الأنواع التي يتعرف عليها المتصفح بشكل افتراضي عند تشغيل أي صفحة ويب. يمكنك تعريف أنواع MIME لموقع الويب الخاص بك في ملفات .htaccess، بحيث يمكن للخادم التعرف على أنواع ملفات مختلفة كما هو محدد من قبلك وتشغيلها.
<IfModule mod_mime.c> AddType application/javascript js AddType application/x-font-ttf ttf ttc </IfModule>
هنا، mod_mime.c هو الوحدة للتحكم في تعريفات أنواع MIME مختلفة وإذا كانت لديك هذه الوحدة مثبتة على نظامك، يمكنك استخدام هذه الوحدة لتعريف أنواع MIME مختلفة للامتدادات المختلفة المستخدمة في موقعك على الويب بحيث يمكن للخادم فهمها.
6. كيفية تحديد حجم التحميل والتنزيل في Apache
تسمح ملفات .htaccess لك بميزة التحكم في كمية البيانات التي يتم تحميلها أو تنزيلها بواسطة عميل معين من موقع الويب الخاص بك. لهذا فقط تحتاج إلى إضافة الأسطر التالية إلى ملف .htaccess الخاص بك:
php_value upload_max_filesize 20M php_value post_max_size 20M php_value max_execution_time 200 php_value max_input_time 200
الأسطر أعلاه تحدد حجم التحميل الأقصى، والحجم الأقصى للبيانات التي يتم نشرها، والوقت الأقصى للتنفيذ أي الوقت الأقصى الذي يُسمح للمستخدم بتنفيذ موقع ويب على جهازه المحلي، والحد الزمني الأقصى داخل الوقت الذي تم تقديمه.