访问带空格的URL后跟斜杠的问题

时间:2010-09-13 07:38:56

标签: asp.net iis encoding routing

当我尝试访问带有空格后跟斜线的产品时,我的网站出现问题。这是行不通的。只使用articleno中的空格可以正常工作,但是当空格后面跟一个斜杠时它不起作用。对此为何的任何想法?它是IIS:不知道如何路由?或者它是浏览器处理空间,斜线作为标志?

示例:

ArticleNo:VT xxx / xx不起作用 ArticleNo:VT xxx / xx有效。

我不能仅仅因为其他产品在他们的文章中使用它们而剥离空格。

我想要访问的网址将是这样的。

somestore.com/product/VT XXX / XX/< - 不起作用。

somestore.com/product/VT XXX/XX/< - 工作。

只有当空格跟着斜线时才会找到我的产品。

2 个答案:

答案 0 :(得分:1)

如果产品代码确实包含空格,则url会对链接进行编码。空间代码为%20

答案 1 :(得分:1)

我怀疑是网络服务器没有处理这个,而不是浏览器。您收到了什么错误消息?

url中的正斜杠表示子目录,因此在您的示例中,Web服务器会将VT xxx/xx解释为xx目录中的VT xxx文件。在斜杠前面加一个空格会使服务器混淆,因为不允许在目录名末尾留出空格。

如果正斜杠是产品ID的一部分,则需要对url中的空格和斜杠进行编码并处理服务器上的斜杠。