كيف يمكن تكوين عناوين URL الاختيارية أو "الخارجية"؟
-
05-07-2019 - |
سؤال
كيف يمكنك تكوين/التعامل مع كيانات عناوين 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.