שאלה IIS 7.5 (Express) applicationhost.config: האם ה- PhysicalPath של VirtualDirectory יכול להיות נתיב יחסי?


אני מגדיר אתר applicationhost.config עבור IIS 7.5 אקספרס:

<site name="default" id="1" serverAutoStart="true">
    <application path="/">
        <virtualDirectory path="/" physicalPath="%IIS_BIN%\..\Somewhere\Else" />
                                            <!-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -->
    </application>
    ...
</site>

מצאתי כי ציון נתיבים יחסית כפי שמוצג לא נראה לעבוד יוביל HTTP 500.19 Internal Server Error. IIS עוד מדווח על קוד שגיאה 0x8007007b, אשר, לאחר כמה googling, נראה להצביע על נתיב קובץ קובץ לא חוקי.

האם יש דרך לעקוף את השגיאה הזו, כך שאני יכול להשתמש נתיב פיזי יחסית עבור השורש של האתר שלי?


9
2018-02-06 18:34






תשובות:


למרבה הצער לא. זה חייב להיות נתיב פיזי מלא. כל עוד אתה לא מתכוון לשנות את נתיב האתר שלך לעתים קרובות, נתיב סטטי לא צריך להיות בעיה. אם תשנה את הנתיב שלך לעתים קרובות למופעי אתר שונים, ייתכן שתרצה להשתמש ב- appcmd כדי לשנות את התסריט כך שהוא יקבל את כל תיקיות המשנה.


6
2018-02-07 15:41



אם יהיה נחמד עבור dev למשל כאשר הסתעפות אם Vdir יכול להיות יחסית לקובץ התצורה אשר יכול להיות בדק לתוך בקרת מקור. כל הרעיונות על איך לעשות את זה? - PilotBob
נתיבים יחסית אינם נתמכים עם הגירסאות הנוכחיות של IIS, למרבה הצער, כך הפתרון הנקי ביותר הוא להשתמש באותו נתיב על כל מחשב. אם אתה חייב להיות נתיבים שונים על מכונות שונות (אני מניח מכונות dev) אז אתה יכול לנסות משתנה הסביבה. צור משתנה סביבת מערכת כך שיהיה זמין ל- IIS ולהשתמש בו עבור השורש של הנתיב במערכות השונות. - Scott Forsyth - MVP
נראה שכמה משתני סביבה נתמכים, אם כי, למשל. <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />. - Uwe Keim
@UweKeim אתה צודק, זה עובד עם הגירסה הנוכחית (ים) של IIS. IIS 10 תומך במשתנים ב- PhysicalPath כעת. שים לב ש-% IIS_SITES_HOME% הוא עבור IIS Express. משתנה זה אינו קיים בגירסה המלאה של IIS. עם זאת, משתני מערכת אחרים פועלים. - Scott Forsyth - MVP