كيف يمكن تكوين عناوين URL الاختيارية أو "الخارجية"؟

StackOverflow https://stackoverflow.com/questions/180007

سؤال

كيف يمكنك تكوين/التعامل مع كيانات عناوين URL الدخيلة/الاختيارية (ربما الأسماء المستعارة)؟

SO مثال جيد:

  • stackoverflow.com/questions/99999999/
  • stackoverflow.com/questions/99999999/السؤال يذهب هنا (مثال سيء، ولكن لم أستطع التفكير في أفضل)

تعتبر عناوين URL الخاصة بموقع Amazon أكثر إرباكًا (على سبيل المثال، أضرم)

  • amazon.com/gp/product/B000FI73MA/
  • أمازون.كوم/جهاز القراءة اللاسلكي كيندل أمازون/dp/B000FI73MA/

[يحرر] ربما لا تكون هذه أفضل خطة عمل، لكنني حقًا أطرح هذا السؤال بشكل عام مقابل خطة العمل الأخرى.لأي خادم واحد.

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

المحلول

تُعرف هذه التقنية عادةً باسم إعادة كتابة عنوان url.إذا كنت تبحث عن حل في IIS، يمكنك استخدامه إعادة كتابة ISAPI, ، وهو مشابه تمامًا لـ mod_rewrite لأباتشي.وإلا، يمكنك الذهاب ل توجيه ASP.Net MVC آلية.

نصائح أخرى

إذا كنت تستخدم Apache، قم بإلقاء نظرة على mod_rewrite

شيء من هذا القبيل (في حالة تكوين عناوين URL يدويًا):

RewriteRule ^([^\/]+)\/([^\/]+)\/(.*) index.php?controller=$1&view=$2&args=$3

وإلا فإنني أسمح لإطار عمل MVC بالتعامل معه وتخصيص وسيطات وحدة التحكم بالشكل المناسب.

غالبًا ما يتم استخدام mod_rewrite، على الأقل في نظام Linux مع Apache.

هذه مهمة لتطبيق الويب الخاص بك، وليس لخادم الويب الخاص بك.

في URL=>تعيينات الملفات، مثل PHP (أو خوادم الويب الثابتة) يكون الأمر صعبًا؛ولكن في أطر عمل MVC يكون الأمر طبيعيًا تمامًا، حتى في أطر عمل PHP MVC.

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