2011-05-17 80 views
3

我必须在浏览器中显示一些包含此名称的文件。在url上使用它的文件似乎不可用。具有特殊字符的网址#

如何配置IIS或我的web.config来允许这个?

感谢, 安德烈

+5

用'%23'代替'#' – ChrisF 2011-05-17 14:26:55

+1

这应该是个答案! – Mr47 2011-05-17 14:27:46

+1

@ Mr47 - 这个问题是重复的,但是因为'#'很难找到。 – ChrisF 2011-05-17 14:28:43

回答

9

这不是网址是如何工作的。

#字符用于表示散列部分;之后的任何内容都不会发送到服务器。

你需要躲避#%23

3

使用URLEncode方法将文件名编码的查询字符串

如前所述,#字符是一个特殊字符来表示一个页面上的书签

2

您需要在制作网址时使用UrlEncode文件名。这将跳过'#'字符,允许浏览器适当地解释它。

正确的编码对防止对您的应用程序的Cross-Site Scripting攻击非常重要,这可能会造成破坏性。