如果我定义了像"^optional/slash/?&"
这样的网址 - 那么它所绑定的网页都可以通过两个网址版本使用 - 使用斜杠和不使用 - 这样做会违反任何约定或标准吗?
答案 0 :(得分:4)
重定向不是更合适吗?
如果我没记错的话,跟踪斜杠应该与 list 其他资源的资源一起使用。就像列出文件的目录,文章列表或类别查询一样(例如http://www.example.com/category/cakes/)。如果没有尾部斜杠,则URI应指向单个资源。像文件,文章或带参数的复杂查询(例如http://www.example.com/search?ingredients=strawberry&taste=good)
只需使用 HTTP代码302 FOUND 将拼写错误重定向到正确的URI。
编辑:感谢AndreD指出, HTTP代码301永久移动更适合永久别名拼写错误。获取301代码后,搜索引擎和其他客户端应停止查询拼写错误的网址Google recommends using it for changing the URL of a page in their index。
答案 1 :(得分:3)
根据RFC 3986: Uniform Resource Identifier (URI): Generic Syntax:
第6.2.4节。基于协议的规范化 -
“减少假阴性发生率的大量努力是
通常对网络蜘蛛来说具有成本效益。因此,他们甚至实施
URI比较中更积极的技术。例如,如果他们
观察一个诸如
的URI
http://example.com/data
重定向到仅在尾部斜杠中不同的URI
http://example.com/data/
他们可能会认为这两者在未来是等价的。这个
当等价明确时,这种技术才适用
由访问资源的结果和
他们的方案的解引用算法的常见约定(在此
例如,HTTP源服务器使用重定向来避免问题
相对参考)。“
我对这个陈述的解释是,使两个URI在功能上等效(例如通过.htaccess语句,重定向或类似)并不违反任何标准约定。根据RFC,网络蜘蛛准备在它们指向同一资源时对它们进行功能等效。
答案 2 :(得分:1)
不,您没有违反任何标准,您可以在网站的URL中使用此可选的尾部斜杠 但是你需要保持安全,因为服务器处理问题有不同的方式: