关于在URL中使用Asterix
在您的URL中使用Asterix可能不是一个好主意,主要是因为:
- UTF-8或ASCII当前都不能表示Asterix。
- 他不过是标准浏览器地址栏中的污点。
- 我怀疑他会不会很喜欢。而且他有一些很大的朋友。
- 真奇怪
关于在URL中使用星号
在URL中使用星号(*)(是的,我一直都知道这是您的意思)也不是一个好主意。因为它是保留字符,所以在其他任何地方都没有使用。即使您的URL方案对您来说对用户友好,也很少有人会考虑尝试它,并且由于URL中通配符的含义难以辨认,因此可能会产生无法预测的结果。(在阅读您的描述之前,我无法说出您所有示例的含义。)
不仅如此,而且可能会有更多语义/有意义的方式来完成您描述的事情。例如,您可以追加查询字符串并使用'find'和'where'变量来告诉您的方法在哪里找到什么:
在以下位置查找以“搜索词组”开头的页面/some/folder/
:
example.com/some/folder/?find=search-phrase&where=start
在任何地方查找带有“搜索词组”的页面:
example.com/some/?find=search-phrase&where=anywhere
为了显示所有页面,我将使用称为“ all”的单独方法,而不是查询字符串或通配符语法:
example.com/some/folder/all
查询字符串语法是远远比星号更常见的-看看在接下来的时间你的地址栏中,你做一个谷歌搜索,例如-这将可能是更容易的代码了。
最后,如果您不喜欢查询字符串的外观,则可以在方法名称前添加一个名为“ search”的名称,然后将接下来的两个块用作“ find”和“ where”变量。例如:
example.com/some/folder/?find=search-phrase&where=start
你可以有:
example.com/some/folder/search/search-phrase/start
然后,您只需要在URL路径中检查“ search”关键字,并使用接下来的两个路径段作为变量来触发您的搜索方法。
更新:我今天在URL中找到了第一个星号。新的archive.org界面正按照您的描述(作为搜索功能的一部分)完全使用它来代替“ all”关键字。例如:
http://wayback.archive.org/web/*/http://google.com
代替
http://web.archive.org/web/20040214050058/http://www.google.com/
第一个示例从google.com的所有日期返回已归档的列表,而不仅仅是某个日期的页面(第二个示例)。有趣的是,我无法在此处链接到实时页面,因为Stack Exchange网站会在*
字符%2a
出现在URL中时对其进行编码,这会导致archive.org中显示404。(也许另一个原因是不要在URL中使用星号。)
我仍然认为它还不如“全部”那么清楚,但是,如果您正在寻找其他网站在其URL中采用星号的示例,那是我所看到的第一个。