2

如果我定义 url 之类"^optional/slash/?&"的 - 并且它绑定的网页将在两个 url 版本中可用 - 带有斜线和不带 - 我这样做会违反任何约定或标准吗?

4

3 回答 3

4

重定向不是更合适吗?

如果我没记错的话,尾随斜杠应该与列出其他资源的资源一起使用。就像列出文件的目录、文章列表或类别查询(例如http://www.example.com/category/cakes/)。没有尾部斜杠的 URI 应该指向单个资源。像文件、文章或带有参数的复杂查询(例如http://www.example.com/search?ingredients=strawberry&taste=good

只需使用HTTP 代码 302 FOUND将拼写错误重定向到正确的 URI。

编辑:感谢 AndreD 指出,HTTP 代码 301 MOVED PERMANENTLY更适合永久别名错别字。搜索引擎和其他客户端在获得一次 301 代码后应停止查询拼写错误的 URL,Google 建议使用它来更改其索引中页面的 URL

于 2013-09-03T17:21:48.857 回答
3

根据RFC 3986:统一资源标识符 (URI):通用语法
第 6.2.4 节。基于协议的规范化——
“减少漏报发生率的大量努力对于网络蜘蛛来说通常是具有成本效益的。因此,它们在 URI 比较中实施了更加激进的技术。例如,如果它们观察到诸如
http://example.com/data
重定向到URI 仅在尾部斜杠中有所不同
http://example.com/data/
他们将来可能会认为这两者是等价的。这种技术只有在访问资源的结果和它们的方案的取消引用算法的通用约定都清楚地表明等价时才适用(在这种情况下,HTTP 源服务器使用重定向来避免相对引用的问题)。”

我对这个声明的解释是使两个 URI 在功能上等效(例如,通过 .htaccess 语句、重定向或类似的方式)不会违反任何标准约定。根据 RFC,如果 Web 蜘蛛指向相同的资源,它们会在功能上等同对待它们。

于 2013-09-03T17:06:00.420 回答
1

不,您这样做并没有违反任何标准,您可以在网站的 URL 中使用此可选的尾部斜杠,但您需要保持安全,因为服务器处理问题的方式不同:

  • 有时,这对 SEO 无关紧要:许多 Web 服务器只会使用 301 状态代码重定向到默认版本;
  • 一些 Web 服务器可能会为非斜杠地址返回 404 页面 = 浪费链接汁和努力;
  • 一些网络服务器可能会返回 302 重定向到正确的版本 = 浪费链接汁和努力;
  • 一些网络服务器可能会为两个版本返回 200 响应 = 浪费的链接汁和努力以及潜在的重复内容问题。
于 2013-09-10T11:00:55.080 回答