تتم استضافة ASP.NET MVC في DiscountAsp.Net وباستخدام مؤشر المجال

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

  •  05-07-2019
  •  | 
  •  

سؤال

أستضيف موقع ويب على DiscountASP.NET ولديهم أي خيار لإضافة مؤشر مجال لمجال منفصل باستخدام نفس حساب الاستضافة الخاص بك.وبالتالي، إذا كان الموقع الأصلي هو abc.com، فيمكنك شراء مؤشر المجال إلى xyz.com وكلاهما يشير في البداية إلى نفس موقع الجذر.يعد استخدام جذر abc.com أمرًا جيدًا، ولكن عندما يكون xyz.com هو العنوان، أريد إعادة التوجيه إلى دليل فرعي منفصل يحتوي على رمز xyz.com.أين أحاول إعادة توجيه xyz.com للإشارة إلى رمز الدليل الفرعي بدلاً من استخدام الدليل الجذر؟أعتقد أن التعامل مع Global.asax حيث توجد عادةً جميع رموز التوجيه قد فات الأوان، لأنني أريد أن يتعامل ملف Global.asax الخاص بكل موقع مع المواقع الخاصة به بشكل مستقل.

ناقش منشور على منتدى DiscountAsp.Net لـ ASP الكلاسيكي إضافة تعليمات برمجية مثل ما يلي إلى المستند الافتراضي.

إذا كان instr (ucase (request.servervariables ("server_name") ، ucase ("subdomain1.yourhosteddomainname.com"))> 0 ثم استجابة. )) ، ucase ("subdomain2.yourhosteddomainname.com"))> 0 ثم استجابة. )> 0 ثم استجابة.

ASP.NET MVC هو أول مشروع ويب لي، وحسب ما أفهمه فإن جميع تدفقات التوجيه من خلال RegisterRoutes() ومجموعة المسار التي تم تعيينها في Global.asax.أيه أفكار؟

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

المحلول

تحتاج إلى جعل المجلد الفرعي منفصلاً Application (في لوحة التحكم الخاصة بـ DiscountAsp.net)

ثم حاول كتابة HttpModule هذا يدعو Response.Redirect لإعادة توجيه المتصفح إلى المجلد الفرعي في المجال الجذر.

إذا كنت تريد الاحتفاظ بالمستخدمين لديك في النطاق الفرعي، فلا أعتقد أن ذلك ممكنًا.لم أستخدم ASP .Net MVC مطلقًا، لكنني أفترض أن المسارات مسجلة لكل-AppDomain, ، مما يعني أن المجلد الخاص بكل نطاق فرعي يجب أن يكون خاصًا به Application.لا توجد طريقة (AFAIK) لنقل التنفيذ عبر AppDomainس (Server.Transfer لن تفعل ذلك).

إذا كنت مخطئا، وأنه من الممكن أن تفعل ذلك دون جعل منفصلة Applicationق، اصنع HttpModule هذا يدعو Server.Transfer بناءً على الطلبات الواردة من النطاق الفرعي (وتأكد من أن الروابط مرتبطة بالمجلد الذي يمثل النطاق الفرعي؛~ المسارات لن تعمل).

نصائح أخرى

ومدير التوجيه في MVC هو رسم خريطة عناوين المواقع إلى وحدات تحكم. التحكم هي رمز، والموقع لا يهم بقدر. أنا على علم وسيلة لاستخدام التوجيه للقيام التوجيه الذي هو ما كنت أبحث عنه. ينبغي أن يكون DiscountASP.Net وسيلة لافتا نطاقك الجديد إلى مجلد آخر، أود أن تحقق لوحة التحكم الخاصة بك عن وسيلة للقيام بذلك.

إذا كنت على IIS 7، وهذا هو الأرجح لاستخدام رؤوس المضيف للقيام الاخراج بالنسبة لك. في هذه الحالة (IIS 7 أو لا)، يجب أن تكون على علم بأن من المحتمل أن يتم تشغيل موقع على شبكة الانترنت في موقع على شبكة الانترنت. إذا كان الموقع الجذر ليس asp.net، الأمور ربما ستكون أسهل، ومع ذلك، إذا الجذر (abc.com) هو موقع asp.net (يبدو وكأنه هذا ليس هو الحال من سؤالك، ولكن من معلومات جيدة، ولذا فإنني سوف أقول لك على أي حال) سوف يكون web.configs addative.

- root
|
|- xyz.com
 |
 |- web.config (xyz.com)
|
|- web.config (abc.com)

ويجب أن تدرك أن abc.com في الملف web.config ستطبق أولا، ثم xyz.com، وأنها يمكن أن تتعارض وخلق القضايا المزعجة. ولكن يجب أن تحقق في لوحة التحكم الخاصة بك لأول مرة عن وسيلة لنقطة نطاقك الجديد في مجلد آخر. تشغيل مواقع متعددة من حساب استضافة مشتركة يأتي مع مجموعة كبير محتمل من الصداع، ولذا فإنني أتمنى لكم حظا سعيدا.

يبدو أنك تحاول تشغيل موقعين منفصلين، أحدهما على نطاق فرعي.

أنا لا أستخدم DiscountAsp.Net، لكن من المفترض أن يسمحوا لك بإعداد موقع ويب منفصل يخدم نطاقك الفرعي؛اتصل بدعمهم.

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