IIS 7.5 (Express) applicationhost.config: Bisakah fisikPath virtualDirectory menjadi jalur relatif?

9

Saya mengonfigurasi situs applicationhost.configuntuk IIS 7.5 Express:

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

Saya telah menemukan bahwa menentukan jalur relatif seperti yang ditunjukkan tampaknya tidak berfungsi dan akan mengarah ke HTTP 500.19 Internal Server Error. IIS selanjutnya melaporkan kode kesalahan 0x8007007b, yang, setelah beberapa googling, tampaknya menunjukkan sintaks jalur file yang tidak valid.

Apakah ada cara untuk mengatasi kesalahan ini, sehingga saya dapat menggunakan jalur fisik relatif untuk root situs saya?

stakx
sumber

Jawaban:

6

Sayangnya tidak ada. Itu pasti jalan fisik penuh. Selama Anda tidak berencana untuk sering mengubah jalur situs, jalur statis seharusnya tidak menjadi masalah. Jika Anda sering mengubah jalur ke instance situs yang berbeda, Anda mungkin ingin mempertimbangkan untuk menggunakan appcmd untuk membuat skrip perubahan sehingga mendapat semua subfolder.

Scott Forsyth - MVP
sumber
1
Jika akan lebih baik untuk dev misalnya ketika bercabang jika Vdir bisa relatif terhadap file konfigurasi yang dapat diperiksa ke dalam kontrol sumber. Ada ide tentang bagaimana melakukan ini?
PilotBob
3
Sayangnya, jalur relatif tidak didukung dengan versi IIS saat ini, sehingga solusi terbersih adalah menggunakan jalur yang sama pada setiap mesin. Jika Anda harus memiliki jalur berbeda pada mesin yang berbeda (saya menganggap mesin dev) maka Anda dapat mencoba variabel lingkungan. Buat variabel lingkungan sistem sehingga tersedia untuk IIS dan gunakan itu untuk root jalur pada sistem individual.
Scott Forsyth - MVP
2
Tampaknya beberapa variabel lingkungan didukung, misalnya <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />.
Uwe Keim
@ UweKeim Anda benar, ini bekerja dengan versi IIS saat ini. IIS 10 mendukung variabel dalam physicalPath sekarang. Perhatikan bahwa% IIS_SITES_HOME% untuk IIS Express. Variabel itu tidak ada di versi lengkap IIS. Namun, variabel sistem lainnya berfungsi.
Scott Forsyth - MVP