在URL中是否有不必要的斜杠会有负面影响吗?

6

抱歉,我标记了错误的东西,请忽略。 - AStopher
4个回答

4
首先,添加斜杠会改变URL路径的语义,就像其他字符一样。因此,根据定义,/foo/bar/foo//bar不等同,就像/foo/bar/foo/bar/不等同一样。
但由于URL路径大多用于直接映射到文件系统,Web服务器通常会删除空路径段(Apache就是这样做的),以便/foo//bar/foo/bar被等效处理。但这不是预期的行为;它是为了纠正错误而做的。

你能提供一个用于删除同样内容的 .htaccess 规则吗? - rahijain
试试这个:RewriteCond %{REQUEST_URI} ^(/([^?/]+/)*)/+(.*) RewriteRule ^ %1%3 [L,R=301] - Gumbo

2

它们都是有效的URL地址。
然而,谷歌的服务器无法处理第二个URL地址。

在处理或拒绝具有重复斜杠的URL地址方面,没有具体的原因;你应该把更多时间花在更重要的事情上。


谷歌的服务器不能做什么? - Gumbo
2
这是一个例子,当URL中出现双斜杠或多个斜杠时,重定向或重写非常重要... http://www.mydigitallife.info/2008/07/21/redirect-or-rewrite-to-remove-double-or-multiple-slashes-in-url/ - Aaron McIver
2
它确实可以处理。但是没有与该URL对应的资源。 - Gumbo

1
你认为“正确解释”是什么?HTTP只规定了服务器名称后斜杠前面的内容如何被解释。其余部分完全取决于Web服务器。它会以任何方式解析在那个点之后你给它的内容,并为该文本提供任何它觉得适合的HTML。

0

每个应用程序处理请求的方式都有所不同。如果您设置应用程序在路由请求之前替换连续的斜杠,则不应该出现任何问题。


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