我已经用PHP编写了自己的MVC框架,该框架使用以下格式的url:/controller/method/param1/param2/param...
我这样做是为了可以忽略“默认”方法(默认情况下为index()
),因此这将导致生成类似于/controller//param1/param2/param...
的URL。例如,URL:/view//panel-glide/3
将在index('panel-glide', 3)
Controller 中调用view
。
这很好用,但我担心搜索引擎或某些较旧的浏览器在看到双斜杠时可能会吓坏了,因为我认为我实际上似乎从未使用过它们。
有人知道使用此工具可能会遇到的任何问题吗?
最佳答案
WebMasters上有一个讨论dangers of having two slashes的现有答案。它讨论了很多Apache,但是这些想法应该普遍适用。
本质上,我不建议这样做。 /foo/bar
和/foo//bar
确实应该是两个完全不同的路径。每个斜杠都是重要的,并且规避标准化的尝试必定会再次吸引您。
如答案中所提到的,相对路径失败还有非常真实的危险。一些浏览器会正确地认为../../fizz
中的相对路径/foo/bar//baz
是/foo/bar/fizz
,而其他浏览器会将双斜杠视为一个,并选择/foo/fizz
。
另外,我认为它看起来很有趣。