在URL路径中使用双斜杠是不是很糟糕?

时间:2014-07-06 21:02:54

标签: apache url browser rewrite

我的Feed阅读器使用http://example.com/feed/feeds.bbci.co.uk/news/technology/rss.xml之类的网址。此网址显示http://feeds.bbci.co.uk/news/technology/rss.xml

中的内容

我最近通过将/page/123附加到网址末尾添加了分页功能。例如,BBC Feed的第2页将为http://example.com/feed/feeds.bbci.co.uk/news/technology/rss.xml/page/2

但是,某些供稿网址以斜杠结尾,例如http://news.yahoo.com/news/。此Feed的第2页将为http://example.com/feed/news.yahoo.com/news//page/2。这个双斜线是坏的吗?任何浏览器都会忽略双斜杠并请求http://example.com/feed/news.yahoo.com/news/page/2吗? http://example.com/feed/news.yahoo.com/news/page/2返回404未找到。

P.S。我正在使用Apache的重写模块将所有请求发送到处理重写的PHP脚本。

1 个答案:

答案 0 :(得分:3)

RFC 3986(特别是Normalization and Comparison部分)中没有任何内容表明无论在哪种情况下都可以删除URI路径中的斜杠。

通常,每个字符都是有意义的。所以你的两个URI(有和没有第二个斜杠)是不同的URI

实施例

http://en.wikipedia.org/wiki//重定向到
http://en.wikipedia.org/wiki/Slash_%28punctuation%29

,而

http://en.wikipedia.org/wiki/重定向到
http://en.wikipedia.org/wiki/Main_Page