إعادة كتابة عنوان URL لـ ASP.NET
-
08-06-2019 - |
سؤال
كيف يمكنني إعادة كتابة عناوين URL في ASP.NET؟
أود أن يتمكن المستخدمون من الانتقال إلى http://www.website.com/users/smith بدلاً من http://www.website.com/?user=smith
المحلول
جرّب أداة إعادة كتابة عنوان URL المُدار والوكيل العكسي:
http://urlrewriter.codeplex.com
ستكون قاعدة إعادة كتابة هذا:
# clean up old rules and forward to new URL
RewriteRule ^/?user=(.*) /users/$1 [NC,R=301]
# rewrite the rule internally
RewriteRule ^/users/(.*) /?user=$1 [NC,L]
نصائح أخرى
تقوم Microsoft الآن بشحن وحدة إعادة كتابة URL رسمية لـ IIS: http://www.iis.net/download/urlrewrite
وهو يدعم معظم أنواع إعادة الكتابة بما في ذلك إعداد متغيرات الخادم وأحرف البدل.
وسيكون موجودًا أيضًا على جميع مثيلات Azure على الويب خارج الصندوق.
لقد استخدمت httpmodule لإعادة كتابة عنوان url من www.urlrewriting.net بنجاح كبير (على الرغم من أنني أعتقد أن هناك إصدارًا أقدم بكثير وأبسط)
إذا كان لديك عدد قليل جدًا من قواعد إعادة الكتابة الفعلية، فمن المحتمل أن تكون تعيينات عناوين URL المضمنة في .NET 2.0 خيارًا أسهل، وهناك عدد قليل من عمليات الكتابة عنها على الويب، 4guysfromrolla يبدو أحدهما شاملاً إلى حد ما ولكن كما ترون أنهم لا يدعمون تعيينات التعبير العادي، فهي على هذا النحو أصبحت عديمة الفائدة إلى حد ما في بيئة ديناميكية (بافتراض أن "سميث" في المثال الخاص بك ليس حالة خاصة، فلن يكون لها أي فائدة)