سؤال

سؤال آخر يتبعه من هذا الموضوع. العنصر المتبقي الوحيد الذي لا يمكنني حله هو أن هناك قائمة لمجلد غير موجود الآن '/team/' ، ولكن إذا أضفت هذا هذا المجلد ، أي

redirect 301 /team/ /team.html
redirect 301 /team/joe_bloggs.htm /team.html
redirect 301 /team/joe_bloggs.html /team.html
redirect 301 /team/bill_smith.htm /team.html
redirect 301 /team/bill_smith.html /team.html

إذا حاولت بعد ذلك زيارة /team/joe_bloggs.htm ، فإن الأمر يتطلب مني ذلك

/team.html/joe_bloggs.htm

إذا كان بإمكاني إصلاح هذا ، فقد يساعدني ذلك في فهم كيفية حل سؤالي الأصلي وتقليل القائمة الضخمة للصفحات إعادة التوجيه في ملف .htaccess الخاص بي ، لذلك تم تلقي أي مساعدة بامتنان.

هل كانت مفيدة؟

المحلول

تحتاج إلى تغيير الطلب ووضعه "redirect 301 /team/ /team.html"في النهاية. يقرأ الخط إلى الخط وإذا وجد شيئًا يناسب ، فإنه يحل محله.

علاوة على ذلك ، أعتقد أنك بحاجة إلى تعلم إضافة أحرف ^ و $. ^ يعني ، يجب أن يبدأ التعبير ، و $ يعني أن التعبير يجب أن ينتهي. لذا، ^/team/$ يعني ، يجب أن يكون بالضبط / فريق / ولن يتطابق /team/joe_bloggs.htm

نصائح أخرى

ال Redirect التوجيه يعمل على بادئات المسار. وفي هذه الحالة ، بادئة المسار المستخدمة في توجيهك الأول (/team/) يتم إلحاق المباريات وبقية المسار لمسار عنوان URL الجديد.

…] أي طلب يبدأ بـ URL-Path سيعود طلب إعادة توجيه إلى العميل في موقع الهدف URL. معلومات مسار إضافية تتجاوز المطابقة URL-Path سيتم إلحاق الهدف URL.

محاولة RedirectMatch في حين أن:

RedirectMatch 301 ^/team/ /team.html
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top