本機發佈程式到IIS會出現 500.19錯誤,緣由是因為URLRewrite的在站臺的Web.Config設定錯誤,導致此問題發生。並且記錄當初處理的情況流程。
錯誤畫面:
看起來上面的錯誤是因為下面這兩個設定造成的,我只要把下面這兩個設定去除,IIS就可以用了,所以似乎是因為IIS原本的模組就已經有關於這兩個資料夾目錄隱藏的設定,但是現在又在Web.config裡面又在次設定了一次,所以可能出錯的原因是這個
把站臺的WebConfig設定的App_Data 、Bin 的那兩個東西拿掉就OK了,但是這似乎不是解決的真正,因為這樣修改,把IIS所有關於安全性隱藏資料夾的問題給顯現出來了,變成只有DevPCAdmin專案才回隱藏這兩個資料夾,其他反而凸顯出問題
重點是站臺有裝 URL Rewrite 2.0:¶
<rewrite>
<outboundRules>
<rule name="Remove Server">
<match serverVariable="RESPONSE_SERVER" pattern=".+" />
<action type="Rewrite" value="Apache/2.4.12 (Unix) OpenSSL/1.0.2a PHP/5.6.0" />
</rule>
</outboundRules>
</rewrite>
拿掉這個的時候就好了,所以是IIS要新裝這個功能才可以
多年後又出現一樣的問題,在重新發佈之後出現一樣問題,但是在IIS上已經安裝此功能
解決:一開始就設定錯誤,預設的隱藏標籤本來就包含下列,所以必定會造成錯誤,查看PROD設定卻沒有這個設定,原來在一開始就在本機的設定是錯誤的了
<hiddenSegments>
<add segment="App_Data" />
<add segment="bin" />
</hiddenSegments>
Comments
comments powered by Disqus