DevToolPal
ع

مولّد ملف .htaccess

أنشئ ملف .htaccess لخادم Apache: فرض HTTPS، وإعادة توجيه www، وإعادة التوجيه 301، وصفحة 404، وgzip، والتخزين المؤقت، وترويسات الأمان.

يعمل محليًا، دون أي رفع

الخيارات

.htaccess

0 حرف · 0 B

ماذا تفعل الأداة

يكتب مولّد .htaccess ملف إعدادات Apache لأكثر المهام شيوعًا: فرض HTTPS، والاختيار بين www.example.com وexample.com، وإعادة التوجيه الدائمة 301، وصفحة 404 مخصّصة، وضغط gzip، والتخزين المؤقت في المتصفح، وترويسات الأمان، وCORS، وحماية الصور من الربط المباشر، وبديل لتطبيقات الصفحة الواحدة.

كل ميزة مفتاح تبديل. يتحدّث الملف أثناء تغيير الخيارات، ويأتي مع تعليقات قصيرة تشرح كل كتلة، ويحيط القواعد الخاصة بالوحدات بـ <IfModule> ليستمر الموقع في العمل عند غياب وحدة ما.

طريقة الاستخدام

  1. أدخل النطاق (مطلوب لقواعد www والربط المباشر).
  2. فعّل الميزات التي تريدها. يُدمج فرض HTTPS والبادئة www في إعادة توجيه واحدة، فلا يُعاد توجيه الزوار مرتين.
  3. أضف إعادة توجيه 301 كأزواج old new مفصولة بـ ;، مثل /old-page /new-page; /blog https://blog.example.com.
  4. انسخ النتيجة أو اضغط تنزيل لحفظها باسم .htaccess.
  5. ارفعه إلى المجلد الجذر لموقعك واختبر بعض الروابط، ويُفضّل أن يكون ذلك على خادم تجريبي أولًا.

مثال

فرض HTTPS وإزالة www للنطاق example.com يُنتج:

<IfModule mod_rewrite.c>
RewriteEngine On

# Force HTTPS and remove www
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]
</IfModule>

نصائح

  • تخزّن المتصفحات عمليات إعادة التوجيه 301 مؤقتًا. أثناء الاختبار، استخدم نافذة خاصة أو امسح ذاكرة التخزين المؤقت.
  • لا تفعّل HSTS (وهو جزء من ترويسات الأمان عند فرض HTTPS) إلا بعد أن يعمل HTTPS على كل النطاقات الفرعية.
  • استخدم بديل تطبيق الصفحة الواحدة لتطبيقات React أو Vue أو Angular التي تعتمد التوجيه من جهة العميل.

الأسئلة الشائعة

› أين أضع ملف .htaccess؟

في المجلد الجذر لموقعك (المجلد الذي يحتوي على index.html أو index.php) على خادم Apache. وتنطبق القواعد أيضًا على كل المجلدات التي تحته.

› هل يعمل هذا على Nginx؟

لا. لا يقرأ ملف .htaccess إلا Apache والخوادم المتوافقة معه مثل LiteSpeed. يحتاج Nginx إلى كتابة القواعد نفسها في إعدادات الخادم الخاصة به.

› لماذا يظهر خطأ 500 بعد رفع الملف؟

غالبًا لأن وحدة يستخدمها الملف غير مفعّلة. كل كتلة محاطة بـ <IfModule>، لكن قواعد mod_rewrite وOptions -Indexes قد تفشل مع ذلك عندما يمنعها المستضيف عبر AllowOverride. احذف الأقسام واحدًا تلو الآخر لتعثر على السبب.

› كيف أكتب عمليات إعادة التوجيه؟

أدخل أزواجًا من المسار القديم والرابط الجديد مفصولة بفواصل منقوطة، مثل /old /new; /blog https://blog.example.com. يصبح كل زوج إعادة توجيه دائمة 301.