سؤال

حاليا أحاول إزالة ملحقات .aspx من عنوان URL Sitecore.تشير مدونة إلى أن تغيير ما يلي سيصلح هذه المشكلة:

giveacodicetagpre.

المشكلة هي أن هذا لا يعمل لجميع الكود في مواقع الويب الخاصة بنا لأن بعض عناصر تحكم مخصصة تجبر استخدام .aspx.

ما كنت أفكر فيه هو أنه إذا استطعت الدخول في خط الأنابيب قبل أن يتم إرسال استجابة إلى المستخدم، فيمكنني تغيير عنوان URL إلى واحد أكثر سيوا ودية (لا .aspx)، أحاول القيام بذلك باستخدامالكود التالي

giveacodicetagpre.

يتم ضرب الرمز وهذا الحل يعمل، ومع ذلك فإنه يقوم بإعادة التوجيه هو في الحقيقة لا ما أريد القيام به، وأفضل أن يكون لديك طلب منتظم مع تنظيف عنوان URL.المشكلة هي أن المتغير Args لديه حقل للقراءة فقط (معلق أدناه) يستخدم لإنشاء عنوان URL الخاص به فعليا.

هل لدى أي شخص أي أفكار حول كيفية تغيير عنوان URL هنا، أو ربما في مكان آخر في خط الأنابيب؟

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

المحلول

ما تفعله داخل httprequestpipeline هو بالتأكيد ليست الطريقة الصحيحة لتغيير الروابط.كما هو الحال مع أي تطبيق ويب، يتم إرجاع أي ارتباطات على الصفحة إلى العميل كمحتوى لطلب HTTP.إعادة التوجيه أثناء الطلب لن يغير المحتوى المقدم.

الطريقة الوحيدة للقيام بذلك هي الطريقة الصعبة:

  • ابحث عن جميع الأماكن في المصدر الذي يولد الروابط التي تحتوي على .aspx.قد يساعد البحث عن "ASPX" داخل الحل
  • ابحث عن جميع المراجع إلى العناوين المثيرة و LinkManager وتحقق مما إذا تم تعيين Addaspxextension= True يدويا كوحدات تراجية.

شيء مثل هذا سوف ينتج دائما نهاية .aspx على سبيل المثال:

giveacodicetagpre.

نصائح أخرى

إما الطريقة الصعبة لتغيير جميع الروابط الخاصة بك لاستخدام مدير الارتباط أو إذا كنت مرتبطت في الوقت المحدد، فاقترح شيئا ما ربما خارج Sitecore واستخدام وحدة URLrewrite IIS.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top