URL中不必要的斜杠是否不好?

URL中不必要的斜杠是否不好?,url,http-headers,Url,Http Headers,我注意到这是一个有效的URL。但事实并非如此。解释这一点的web服务器技术是否存在固有的差异?带有不必要斜杠的url应该正确解释还是返回错误?它们都是有效的url。 然而,谷歌的服务器无法处理第二个问题 没有具体的理由处理或拒绝带有重复斜杠的URL;你应该把更多的时间花在更重要的事情上。每个应用程序处理请求的方式都不同。如果在发送请求之前将应用程序设置为替换后续斜杠,则不会有任何问题。首先,添加斜杠会像其他字符一样更改URL路径的语义。因此根据定义,/foo/bar和/foo//bar并不等同,

我注意到这是一个有效的URL。但事实并非如此。解释这一点的web服务器技术是否存在固有的差异?带有不必要斜杠的url应该正确解释还是返回错误?

它们都是有效的url。
然而,谷歌的服务器无法处理第二个问题


没有具体的理由处理或拒绝带有重复斜杠的URL;你应该把更多的时间花在更重要的事情上。

每个应用程序处理请求的方式都不同。如果在发送请求之前将应用程序设置为替换后续斜杠,则不会有任何问题。

首先,添加斜杠会像其他字符一样更改URL路径的语义。因此根据定义,
/foo/bar
/foo//bar
并不等同,正如
/foo/bar
/foo/bar/
并不等同一样


但是,由于URL路径主要用于直接映射到文件系统上,web服务器通常会删除空路径段(Apache会这样做),以便对
/foo//bar
/foo/bar
进行等效处理。但这不是预期的行为;这是错误的纠正。

< P>你认为“正确解释”是什么?HTTP只具体说明如何解释服务器名称后斜杠前面的内容。其余部分完全由web服务器决定。它会解析你在那一点之后给它的内容(以它喜欢的任何方式),并向你提供它想要为该文本提供的任何HTML。

谷歌的服务器不能做什么?下面是一个很重要的例子……它肯定能处理它。但是没有具有该URL的资源。能否提供一个.htaccess规则来删除该URL。请尝试此规则:
RewriteCond%{REQUEST_URI}^(/([^?/]+/)*)/+(.*)RewriteRule^%1%3[L,R=301]
Oops,标记了错误的内容,请忽略。