带有特殊字符 # 的网址

3

我需要在浏览器中显示一些文件,这些文件的名称包含 # 符号。使用该符号作为URL时,文件似乎无法访问。

我应该如何配置IIS或我的web.config以允许访问这些文件?

谢谢, 安德烈


1
@Mr47 - 这个问题是重复的,但由于 # 的存在很难找到。 - ChrisF
https://dev59.com/MW445IYBdhLWcg3wKHEJ - Jim Mischel
这个回答解决了你的问题吗?如何在URL中转义#符号 - Robert Tupelo-Schneck
3个回答

9

这不是URL的工作方式。

#字符用于表示哈希部分; 它后面的任何内容都不会发送到服务器。

您需要将#转义为%23


3

使用URLEncode方法对查询字符串中的文件名进行编码。

正如所提到的,#字符是用于在页面上标记书签的特殊字符。


2
您需要在构建URL时对文件名进行 UrlEncode。这将转义“#”字符,使浏览器能够正确解释它。
适当的编码非常重要,可以防止跨站点脚本攻击对您的应用程序造成灾难性影响。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接