سؤال

هل هناك طريقة لتشغيل موقع ASP.NET في مجلد فرعي للموقع؟

كمثال، أقول أنني أردت تشغيل Screwturn Wiki (http://www.screwturn.eu/) في مجلد يسمى "Wiki" على موقع الويب الخاص بي، هل يمكنني تغيير Web.config لموقع Screwturn الإلكتروني لمعرفة ذلك أنه يعمل في مجلد "Wiki"؟ (مثل القول أن "~ /" = "/ wiki /")

سيجد Wiki بعد ذلك تجمعاته الموجودة في "~ / bin" في "/ wiki / bin" ونفس الشيء بالنسبة لجميع المجلدات الأخرى أسفل الجذر الجديد.

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

المحلول

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

نصائح أخرى

تحتاج إلى إيقاف ميراث التكوين في ملف Root Web.config بحيث لا يقرأ Wiki Web.config أي شيء من Web.config Root.

كما أشار آخرون. في الأساس تحتاج إلى وضع هذا في تطبيق طفلك Web.config، بالطبع تحتاج أيضا إلى تكوين المجال (المجال الفرعي وما إلى ذلك)، وإعداد IIS أيضا.

<configuration>    
  <location path="." inheritInChildApplications="false">

    //your code here

    <system.web>
      //your code here
    </system.web>

    //your code here

  </location>     
</configuration>

اضطررت للقيام بذلك مؤخرا، بعد أن جعل المجلد Wiki تطبيق (كما هو مقترح في الإجابات السابقة)، كان علي أيضا وضع مجلد "app_themes -> DIFFY" في المستوى الأعلى داخل التطبيق Wiki بسبب وجود التابع <pages styleSheetTheme="default" theme="default"> علامة في Web.config التطبيق الأصل. اختراق صغير، ولكن هذه هي الطريقة التي أحب تكوين أنماطها في ASP.NET، ولم أرغب في تغيير ذلك.

إجابة قصيرة هي نعم يمكنك ذلك. لا حاجة لتحديد موقع المجلد في Web.config.

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