2011-06-09 13 views
24

Web uygulamam için özel bir 404 hata sayfası oluşturmaya çalışıyorum. Sorun şu ki bu uygulama bir dizi farklı ortama dağıtılacak. Bazen sanal bir dizinde olacak ve bazen olmayacak.IIS7'de özel bir hata sayfası ayarlarken bir Göreli yol kullanmak mümkün mü?

Ben bir dizin olarak adlandırılan ErrorPages hata sayfası var ve bunun gibi benim yapılandırma kurdunuz:

<httpErrors errorMode="Custom" existingResponse="Replace"> 
    <remove statusCode="404"/> 
    <error statusCode="404" path="/VirtualDir/ErrorPages/404.aspx" responseMode="ExecuteURL" /> 
    </httpErrors> 
</system.webServer> 

Bir web sitesinin köküne bu dağıtırken sorun, /VirtualDir kısım gerekiyor kaldırılmalıdır. Dağıtımdan önce kaldırırsam, sanal bir dizine konuşlandırırken onu yeniden eklemem gerekir. sanal dizini ile ilgili olarak siteye göre olması için herhangi bir yol var mı?

Ben ~ kullanarak denedi, ama o da çalışmıyor, örneğin:

<httpErrors errorMode="Custom" existingResponse="Replace"> 
    <remove statusCode="404"/> 
    <error statusCode="404" path="~/ErrorPages/404.aspx" responseMode="ExecuteURL" /> 
    </httpErrors> 
</system.webServer> 
+3

Kısa cevap görünür: hayır o IIS7 özel bir hata sayfası ayarlarken bir Bağıl yolunu kullanmak mümkün değildir! –

+0

Martin, inanıyorum, ama bir atıf var mı? – Michael

+3

@Michael [Bu bağlantı] (http://www.iis.net/configreference/system.webserver/httperrors/error#005), URL'nin "responseMode" kullanıldığında uygulamanın göreli URL'si değil, sunucuya ait bir URL olması gerektiğini belirtir. = "ExecuteURL" '. – WolfyUK

cevap

İlgili konular