在URL中使用双斜线是否有任何缺点?

wyq*_*syq 12 php url uri url-rewriting url-routing

我在PHP中编写了自己的MVC框架,它使用的格式为:

/controller/method/param1/param2/param...

我已经做到了这样,"默认"方法可以被忽略(默认情况下index()),所以这会产生像这样的URL /controller//param1/param2/param....例如,URL:/view//panel-glide/3index('panel-glide', 3)view控制器中调用.

这工作得很好,但是我担心搜索引擎或者一些旧的浏览器在看到双斜线时可能会发疯,因为我认为我实际上看起来并没有像以前那样使用它们.

有人知道我可能遇到的任何问题吗?

voi*_*hos 14

WebMaster上有一个现有的答案,讨论了有两个斜杠危险.它讨论了很多Apache,但这些想法一般都适用.

从本质上讲,我不认为这是推荐的./foo/bar而且/foo//bar应该是两条完全不同的道路.每个斜杠都很重要,试图规避标准化的做法必然会让你感到困惑.

正如答案中提到的,相对路径失败也存在非常现实的危险.有些浏览器将正确的身影,相对路径../../fizz/foo/bar//baz/foo/bar/fizz,而其他人将治疗双斜杠作为一个单一的一个,而选择/foo/fizz.

另外,我觉得它看起来很有趣.

  • 在我的例子中`/foo/bar` 和`/foo//bar` 是两条完全不同的路径。`/foo/bar` 将加载 `foo` 控制器的 `bar()` 方法/动作,`/foo//bar` 将加载 `foo` 控制器的 `index('bar')`。 (2认同)
  • @nomaD:它不仅仅是美学.看我的编辑.您是否有理由不想将`/ foo/index`设为显式网址? (2认同)