مولد إعادة توجيه Htaccess
في كل مرة تُجري فيها نقلًا لمدونة، أو تغييرًا في نظام عناوين المواقع (URL)، أو دمجًا لصفحات قديمة، فإن ملف التوجيهات .htaccess الخاص بـ Apache هو المسؤول الرئيسي عن تنظيف الإعدادات. يقوم هذا المولد بتحويل عملية ربط بسيطة بين المصدر والوجهة إلى تعليمات RewriteRule المناسبة مع العلامات الصحيحة، وهي جاهزة للإدراج مباشرة في ملف التوجيهات .htaccess الخاص بالموقع.
كيفية إنشاء قواعد إعادة التوجيه
-
1
اختر نوع إعادة التوجيه
الرقم 301 دائم ويُستخدم للنقل الآمن من ناحية محركات البحث، بينما الرقم 302 مؤقت ويُستخدم في اختبارات A/B وإعادة التوجيهات الموسمية.
-
2
أدخل المصدر والوجهة
مسارات دقيقة أو أنماط regex: يصبح المسار القديم نمط RewriteRule ويصبح عنوان URL الجديد وجهة إعادة التوجيه.
-
3
تحقق من العلامات
تحصل كل قاعدة على العلامة الصحيحة `[R=301,L]` أو `[R=302,L]`، ليعمل الكود المولَّد مباشرة مع mod_rewrite دون أي تعديل.
-
4
قم بنسخ التعليمات
يُدرج الكتلة المولدة داخل قسم `<IfModule mod_rewrite.c>` من ملف .htaccess.
التوجيهات `mod_rewrite` مقابل `mod_alias`
يوفر Apache وحدتين لإعادة التوجيه؛ اختر بينهما وفقًا لتعقيد القاعدة.
دليل اتخاذ القرار
| المتطلب | الاستخدام | المثال |
|---|---|---|
| الرابط الأصلي الدقيق → الرابط الجديد الدقيق | Redirect |
Redirect 301 /old /new |
| بادئة بحرف بدل (wildcard) | RedirectMatch |
RedirectMatch 301 ^/blog/(.*)$ /articles/$1 |
| مطابقة سلسلة الاستعلام | RewriteRule |
انظر أدناه |
| فرض بروتوكول HTTPS | RewriteRule |
RewriteCond %{HTTPS} off + قاعدة |
| شرطي (متصفح، ملفات كوكي) | RewriteRule |
مع RewriteCond |
مثال: فرض HTTPS مع www
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
مثال: نقل /blog/post-123 إلى /articles/post-123
RewriteEngine On
RewriteRule ^blog/(.*)$ /articles/$1 [L,R=301]
الأعلام التي سترَاها
L، آخر قاعدة؛ لا تواصل معالجة القواعد الأخرى.R=301أوR=302، إعادة التوجيه برمز الحالة هذا.NC، غير متمايز بين الحروف الكبيرة والصغيرة.QSA، أضف سلسلة الاستعلام الأصلية إلى عنوان URL الجديد.NE، لا تُعِد ترميز الأحرف الخاصة في الهدف.
الأخطاء الشائعة
- نسيان توجيه
RewriteEngine On؛ فبدونه لا يكون لأي قاعدة إعادة كتابة أي تأثير. - استخدام 302 بشكل افتراضي؛ حيث يعتبره جوجل مؤقتًا، وبالتالي يظل الرابط القديم محتفظًا بترتيبه.
- التوجيهات المتسلسلة (قديم → وسيط → نهائي): اسعَ دائمًا لقفزة واحدة فقط؛ فكل قفزة إضافية تُفقد قيمة الربط وتزيد زمن التأخير.
الأسئلة الشائعة
استخدم الانتقال من نوع 301 للتحولات الدائمة، مثل نقل الموقع، أو تغيير اسم الرابط (URL slug)، أو الترقية إلى بروتوكول HTTPS. أما الانتقال من نوع 302 فيُستخدم فقط في الحالات المؤقتة، مثل توجيه المستخدمين إلى صفحة صيانة أو تنفيذ تجارب تقسيمية من نوع A/B. كما أن محركات البحث تنقل إشارات الترتيب عبر الانتقال من نوع 301 بشكل موثوق، بينما لا يحدث ذلك بشكل موثوق عبر الانتقال من نوع 302.
السبب الأكثر شيوعًا هو نسيان الشرطة المائلة الأولى في النمط. في RewriteRule، يتطابق النمط مع المسار دون الشرطة المائلة الأولى (مثل ^blog/)، بينما في Redirect (mod_alias) يبدأ النمط بالشرطة المائلة (مثل /blog). لا تخلط بين الاصطلاحين.
نعم، استخدم RewriteCond %{QUERY_STRING} ^id=123$ قبل RewriteRule. لا يقرأ توجيه Redirect العادي سلسلة الاستعلام؛ فقط RewriteRule يمكنه مطابقتها.
نعم، عند الطلب التالي، يقوم Apache بإعادة قراءة ملف .htaccess في كل مرة؛ ولا يلزم إعادة تشغيل الخادم. إذا لم يحدث أي شيء، تأكد من أن قيمة AllowOverride All محددة في ملف vhost الخاص بالمجلد.
أدوات ذات صلة
مرجع جدول ASCII
جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.
مرجع أحرف HTML
قائمة قابلة للبحث بكيانات HTML، مع رموزها المسمّاة والرقمية، بالإضافة إلى خيار النسخ بنقرة واحدة للأحرف والرموز الخاصة.
مرجع اختصارات لوحة المفاتيح
ابحث في الاختصارات الافتراضية الموثقة لـ VS Code وChrome وBash مع GNU Readline على macOS وWindows وLinux.
مدقق البريد الإلكتروني
تحقق من عنوان بريد إلكتروني: فحص صياغة RFC 5322، واستعلام حي عن سجل MX، بالإضافة إلى تفاصيل الجزء المحلي والنطاق والطول. لا يتم إرسال أي بريد.
مولد EditorConfig
أنشئ ملف .editorconfig بقواعد نمط المسافة البادئة وحجمها ونهاية السطر ومجموعة الأحرف والمسافات البيضاء، لتنسيق موحّد عبر بيئات التطوير المتكاملة (IDEs) والمحررات.
منسق HTML
نسّق HTML محلياً في المتصفح بمسافة بادئة من مسافتين أو أربع مسافات. لا يُرفع HTML ولا يُتحقق منه.
الأداة متاحة بلغات أخرى
- Htaccess-omdirigeringsgenerator [SV]
- Gerador de Redirecionamento Htaccess [PT]
- ตัวสร้าง Redirect สำหรับ Htaccess [TH]
- Htaccess 리다이렉트 생성기 [KO]
- Htaccessリダイレクトジェネレータ [JA]
- Generator Redireksi Htaccess [ID]
- Htaccess-redirectgenerator [NL]
- Generator przekierowań .htaccess [PL]
- Générateur de redirection Htaccess [FR]
- Bộ tạo đường dẫn chuyển hướng Htaccess [VI]
- Htaccess Weiterleitungs-Generator [DE]
- Generador de redirección Htaccess [ES]
- Htaccess重定向生成器 [ZH]
- Htaccess Redirect Generator [EN]
- Generatore di Redirect Htaccess [IT]
- Генератор перенаправлений для Htaccess [RU]
- Htaccess Yönlendirme Oluşturucu [TR]