سؤال

أضفت Urlrewriter.net إلى موقعي اليوم ويعمل بشكل جيد مع إعادة توجيه روابط SEO الخاصة بي إلى الصفحات الفعلية. السؤال هو إذا كان هناك أي طريقة للحفاظ على روابطي القديمة في الموقع والحصول على حل () باستخدام القواعد لإخراج الروابط في صفحتي. لا ينبغي النظر إلى الروابط "القديمة" من قبل إما البحث عن الروبوتات أو المستخدمين.

مثال الرابط في الصفحة:

<a href="<%= ResolveUrl("~/Help.aspx") %>">Help</a>

أضفت رمز إعادة كتابة مثل هذا في Web.config:

<rewrite url="~/help" to="~/help.aspx" />
<rewrite url="~/help/(.+)" to="~/help.aspx?section=$1" />

أولا، سيكون من الرائع الحصول على الروابط المقدمة دون أي وظيفة إضافية مثل MVC. ثاني أفضل ما إذا كانت هناك طريقة لطيفة فقط لإضافة قواعد "بالطريقة الأخرى" أيضا في قائمة إعادة الكتابة.

هذا من شأنه أن تمكنني أيضا من إيقاف / عدم إعادة توجيه / عند إعادة توجيهه عند تصحيح الأخطاء.

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

المحلول

نعم. قمت بتنفيذ توجيه Tecnique المستخدمة في توجيه MVC في الويب الخاص بي. بدلا من ذلك الذي سمح لي باستخدام الرمز أدناه:

ASPX:

<%= Url.RouteUrl("article", new { name="my-name-for-artcile"}) %>

وتسجيل جميع الطرق في مكان واحد مثل:

routes.MapWebFormRoute("articles", "artiklar", "~/articles.aspx");

لقد استخدمت الكود فيل هاك صنع حول توجيه الويب ولكن قم بتعديلها بطريقة صغيرة للحصول عليها في العمل مع الصفحات الرئيسية وأضاف أيضا SOM Web.config Settigns للحصول عليه بسلاسة على الخادم مع عناوين URL غير ASPX.

http://blog.joakimfischer.se/post/2009/11/08/Web-Form-Routing.aspx.

الآن يعمل على النحو المقصود ولكني أتوقف عن استخدام Urlrewiter.net للحصول على الوظيفة التي أردت ذلك.

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