想象一下,您有一组按漂亮的树状结构组织的产品类别,并且您想提供可入侵的URL来浏览这些产品。你可以做这样的事情
/catalog/categorya/categoryb/categoryc
然后,您可以很容易地弄清楚应该列出产品类别的类别(请注意,因为您可能拥有名称相同但在层次结构中不同位置的类别,所以需要完整的URL)
现在,在其中添加产品信息的哪种好方法呢?举个例子,您想显示该类别的产品Oblivion
/catalog/games/consoles/playstation/adventure
诱人的是仅在网址末尾添加产品
/catalog/games/consoles/playstation/adventure/oblivion
但是一旦这样做,您就失去了了解其类别或称为遗忘产品的能力。我个人认为不会被迫添加诸如.html之类的后缀
/catalog/games/consoles/playstation/adventure/oblivion.html
将是最好的解决方案,并使用某种前缀,例如
/catalog/games/consoles/playstation/adventure/product:oblivion
您还可以添加某种触发器,例如
/catalog/games/consoles/playstation/adventure/PRODUCT/oblivion
也没有那么好,并且您将(尽管这不太可能会是一个问题)限制您自己使用名为产品的类别
到目前为止,后缀解决方案似乎是我能想到的最用户友好的方法,但是我不喜欢使用扩展程序
您对此有何看法?
最佳答案
深深的道路让我讨厌他们很难分享。
/ product / 1234 / oblivion->直接页面
/ product / oblivion-> / product / 1234 / oblivion如果遗忘是唯一的产品,
->〜消除歧义的页面,如果遗忘不是不受欢迎的产品。
/ product / 1234 / notoblivion-> / product / 1234 / oblivion
/ categories / 79 / adventure-> Playstation冒险游戏
/ categories / 75 / games->控制台游戏页面
/ categories / 76 / games-> Playstation游戏页面
/ categories / games->消歧页面。
否则,长网址虽然看起来很容易破解,但要求您正确获取所有节点元素才能对其进行破解。
以php.net
php.net/str_replace->转到
http://nz2.php.net/manual/zh/function.str-replace.php
而且这种模型很容易被黑客入侵,人们一直盲目地使用它。
注意:W3C认为.html后缀在功能上是无意义的和多余的,应在URL中避免使用。
http://www.w3.org/Provider/Style/URI