مشكلة مع إعادة توجيه مجلد مع mod_alias
-
21-09-2019 - |
سؤال
سؤال آخر يتبعه من هذا الموضوع. العنصر المتبقي الوحيد الذي لا يمكنني حله هو أن هناك قائمة لمجلد غير موجود الآن '/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