2012-04-30 60 views
1

找到我的問題是,有一個服務器上的網站: - Windows Server 2008的 - IIS 7.5Windows Server 2008的IIS 7.5的文件夾或文件不能與+

並有文件夾的一些圖像文件。

文件夾和文件名是這樣的:

www.somedomain.com/images/picture+pro/myimage.gif 

www.somedomain.com/images/picture/myimage+pro.gif 

有同樣的問題。

問題是;特殊字符「+」無法在帶有IIS 7.5的Windows Server 2008上讀取,但在Windows 7計算機上使用Visual Studio 2010在本地開發時會讀取它。

有一些配置,我可以做在Windows 2008或IIS 7.5,可以讀取包含「+」字符的文件夾和/或文件?

非常感謝您

+0

是否使用'+'或'%2B'? –

+0

它是+ ..不是%2B ..在服務器上的文件夾是使用+另外,在HTML IMG SRC也使用+不是%2B –

+0

爲什麼你期望它的工作,然後呢?見[保留字符](http://www.blooberry.com/indexdot/html/topics/urlencoding.htm#whatwhy)。 –

回答

2

好笑的是,我使用IIS ARR到反向代理在Windows上,在其網址使用+字符運行一個Tomcat應用程序時碰到了什麼東西今天這個樣子。

嘗試讓網站上allowDoubleEscaping。如果您有IIS MMC訪問它在請求篩選小程序配置:

enter image description here

如果不是和你的主機供應商允許你可以設置你的網站的web.config文件:如果您

<configuration> 
    <system.webServer> 
    <security> 
     <requestFiltering allowDoubleEscaping="true"> 
     </requestFiltering> 
    </security> 
    </system.webServer> 
</configuration> 

應工作都拿到:

HTTP錯誤404.11 - 找不到

請求過濾模塊被配置爲拒絕包含雙轉義序列的請求 。

+0

絕對真棒!非常感謝你。完全解決了我的問題! –

0

不幸的是,我沒能解決服務器上的這個問題,而不是我改變了相關數據庫中刪除了「+」字上的參考名稱。

因此,我認爲這是公平地說,即使「+」字符工作本地計算機與Visual Studio的虛擬IIS服務器上,但這並不意味着它會在Windows服務器上運行。

我要感謝ta.speot.is爲他的努力。

相關問題