إجابة سريعة
الملف .htaccess هو ملف إعدادات على مستوى الدليل لخوادم Apache. يسري تنفيذه فورًا ويتيح، دون إعادة تشغيل الخادم، تنفيذ حماية بكلمة مرور وقواعد حظر لعناوين IP وصفحات أخطاء مخصصة وإعادة توجيهات (301/302) عبر mod_rewrite أو Redirect.
ما يجب معرفته قبل البدء
- تنطبق هذه التعليمات إذا كان استضافتكم تستخدم Apache وتسمح باستخدام
.htaccessإذا كان موقعكم يُقدَّم بواسطة Nginx أو عبر وِكيل أمامي (proxy)، فعليكم تكييف القواعد على مستوى الخادم الأمامي (Nginx لا يقرأ.htaccess). - قم دائمًا بعمل نسخة احتياطية من الملف الموجود قبل أي تعديل.
- أخطاء بناء الجملة في
.htaccessغالبًا ما تسبب خطأ 500 — حضّر وسيلة استعادة سريعة (SSH، FTP، أو cPanel).
تحديد موقع وعرض ملف .htaccess (cPanel)
- افتح cPanel → مدير الملفات (File Manager).
- في الإعدادات (Settings)، فعّل "إظهار الملفات المخفية (dotfiles)" لعرض
.htaccess. - انتقل إلى المجلد الجذري للنطاق:
public_htmlللنطاق الرئيسي أوpublic_html/votre-domaine.tldلنطاق مُضاف/نطاق فرعي (addon/subdomain). - إذا لم يكن هناك
.htaccessقم بإنشاء ملف جديد (ملف → ملف جديد → سمّه «.htaccess»).

تحرير .htaccess بأمان
- حمّل نسخة محليّة قبل التعديل (أو أعد تسميته إلى
.htaccess.bakعبر SSH/FTP). - حرره من خلال File Manager → Edit، أو استرجع الملف عبر FTP، عدّله محليًا ثم ارفعه.
- طبّق التغييرات بخطوات صغيرة واختبر فورًا كل تعديل في نافذة تصفح خاصة (لتجنّب التخزين المؤقت).
- في حال ظهور خطأ 500، أعد النسخة الاحتياطية (استبدل الملف بالنسخة) لاستعادة الوصول.
توجيهات وأمثلة عملية
احفظ الترتيب: ضع التوجيهات العامة في الأعلى (مثل فرض HTTPS)، والقواعد الخاصة بعدها.
1) الحماية بكلمة مرور (المصادقة الأساسية Basic Auth)
الإجراء: خزن بيانات الدخول المشفّرة خارج دليل الويب وارجع إلى الملف من خلال .htaccess.
AuthType Basic AuthName "Zone protégée" AuthUserFile "/home/votre_utilisateur/.htpasswds/public_html/chemin/passwd" Require valid-user
خطوات ملموسة:
- أنشئ ملف كلمات المرور (بصيغة htpasswd) وضعه خارج
public_html. - تحقق من المسار المطلق (مسار UNIX ابتداءً من
/home/). - اختبر الوصول: يجب أن يطلب المتصفح اسم المستخدم/كلمة المرور.
2) حظر / السماح لعناوين IP (Apache 2.4+)
لحظر عنوان IP:
<RequireAll> Require all granted Require not ip 1.2.3.4 </RequireAll>
للسماح فقط لعناوين IP معينة:
<RequireAll> Require all denied Require ip 1.2.3.4 Require ip 5.6.7.8 </RequireAll>
ملاحظات:
- لا تخلط التوجيهات القديمة
Order/Allow/DenyمعRequire. - لحظر نطاق بصيغة CIDR:
Require not ip 203.0.113.0/24.
3) صفحات أخطاء مخصصة
مثال: إعادة توجيه صفحة 404 الموجودة في جذر النطاق:
ErrorDocument 404 /404.html
نصائح:
- أشر إلى المسار النسبي بالنسبة إلى جذر الموقع (يبدأ بـ /).
- اختبر أيضًا رموز الحالة 403 و500 حسب حاجتك.
4) إعادة التوجيهات (mod_rewrite و Redirect)
تذكير: استخدم 301 لإعادة توجيه دائمة (SEO) و302 لإعادة توجيه مؤقتة.
إعادة توجيه كل example.com إلى domain.com (301):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?example\.com$ [NC]
RewriteRule ^(.*)$ https://domain.com/$1 [R=301,L]
فرض HTTPS (حل بسيط):
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
إعادة توجيه صفحة واحدة:
Redirect 301 /ancienne-page.html https://votresite.tld/nouvelle-page/
نصائح عملية لإعادة التوجيه:
- تجنّب سلاسل إعادة التوجيه: الأفضل إعادة توجيه مباشرة إلى الوجهة النهائية.
- اختبر القواعد باستخدام curl (مثلاً
curl -I https://votresite.tld/ancienne-page.html) لرؤية رمز HTTP و‑Header الاسم Location.
ممارسات أمان وتنظيم جيدة
- لا تخزن أبدًا ملفات بيانات الاعتماد (passwd) في مجلد يمكن الوصول إليه علنًا.
- ضع التوجيهات العامة (HTTPS، canonical) في رأس الملف، ثم القواعد الخاصة.
- علّق (#) على الكتل بدل حذفها لتتمكن من الرجوع بسهولة.
- قصر حق الوصول لتحرير
.htaccessعلى الأشخاص الموثوقين.
استكشاف الأخطاء — حالات شائعة
خطأ 500 (Internal Server Error) بعد التعديل
- أعد تسمية الملف أو استعد النسخة الاحتياطية من
.htaccessللعودة إلى الحالة السابقة. - تحقق من سجل أخطاء Apache إن أمكن (سيسرد الخطأ المفصّل ويشير إلى التوجيه الخاطئ).
- أزل آخر قاعدة أضفتها وأعد إدخال القواعد واحدة تلو الأخرى لعزل الخطأ.
حلقات إعادة التوجيه
- تحقق من التداخل بين القواعد (مثلاً إعادة توجيه WWW ↔ غير WWW مع فرض HTTPS).
- أضف شروطًا
RewriteCondواضحة لتجنّب إعادة تطبيق القاعدة على عناوين URL التي أعيد توجيهها بالفعل.
صفحة الخطأ المخصصة لا تظهر لديّ
- تحقق من أن المسار المذكور في
ErrorDocumentصحيح ويمكن الوصول إليه (مثلاً/404.html). - تأكد من أن لا توجد قاعدة إعادة توجيه تتداخل قبل رمز الخطأ.
أدوات وبدائل
- لإعادة توجيه بسيطة، أداة Redirections في cPanel تضيف القواعد تلقائيًا بدون مخاطر بناء الجملة: هذا أكثر أمانًا للتغييرات البسيطة (نطاق → نطاق، www ↔ non‑www، HTTP → HTTPS).
- لفلترة IP متقدمة وعلى مستوى أوسع، استخدم أداة حظر العناوين (IP Blocker) في cPanel أو جدار تطبيقات على مستوى الخادم (Imunify360، جدار الحماية لدى المُزوِّد).
خطوات سريعة موجزة (قائمة تحقق)
- احفظ نسخة من الملف الحالي (
.htaccess.bak). - فعّل عرض الملفات المخفية وافتح
.htaccessعبر File Manager. - أضف/عدّل قاعدة أسفل الملف (بعد التفكير في ترتيب القواعد).
- احفظ واختبر في نافذة تصفح خاصة ومع
curl -Iإذا أمكن. - إذا ظهرت مشكلة، أعد النسخة الاحتياطية وحلل سجل أخطاء الخادم.
روابط داخلية مفيدة
- الوصول إلى مدير الملفات
- كيفية فرض SSL أو HTTPS باستخدام .htaccess؟
- كيفية إنشاء صفحة خطأ مخصصة على cPanel؟
- كيفية حظر عنوان IP في cPanel
- استخدام أداة Redirections في cPanel
قيود ونقاط يجب الانتباه إليها
- التوجيهات المذكورة تنطبق فقط إذا سمح Apache باستخدام
.htaccess(تفعيل AllowOverride). في بعض بيئات الاستضافة المشتركة، قد تُقيد بعض التوجيهات من قبل المُستضيف. - إذا كان موقعك خلف CDN أو وِكيل (Cloudflare، إلخ)، فتأكد أن القواعد لا تتعارض مع إعدادات الـ CDN (مثلاً: فرض HTTPS من جهة CDN).
- التغييرات تؤثر فورًا على الزوار — خطط للتغييرات في أوقات حركة مرور منخفضة إن أمكن.
هل تحتاج مساعدة في قاعدة محددة؟
إذا أردت أن نراجع قاعدة قبل حفظها، انسخها هنا (مع إخفاء أي كلمات مرور). يمكننا التحقق من البنية واقتراح تحسينات ممكنة.
مراجع الوثائق
- File Manager | وثائق cPanel & WHM
- How to Configure Redirects Manually | وثائق cPanel & WHM
- How to edit files via File Manager – دعم cPanel
توثيق تم الاطلاع عليه في 13 أكتوبر 2026. قد تختلف الأدوات حسب مزود الاستضافة.