javascript避免重复的URL

javascript avoid duplicate URLs

本文关键字:URL javascript      更新时间:2023-09-26

如何在javascript中检查两个URL是否相同?

例如,我不想将这两者都存储在数据库中:

example.com/dogs/
example.com/dogs

或两者兼有:

www.example.com
example.com

或两者兼有:

http://example.com
https://example.com

URL中的GET数据又如何呢?我的数据库可能会变得非常混乱。

有没有一种方法可以将所有的URL转换成一些标准格式,这样检查重复项会简单得多?

谢谢大家!

Google通过usingn link rel="canonical"解决了这个问题,这个过程被称为规范化。

当然,正如您所描述的,您可以使用regexp简化url,但"example.com"answers"www.example.com"可能是不同的网站。

如果你只想为一个网站存储基于域,我会这么做。

var url = "http://www.xyzsite.com/mySite/?param=1"; // This is the url you want to process.
var filter = [
    "http://",
    "https://",
    "www.",
];
// Loops through array and removes the protocol and www. prefixes if present
for (var i in filter) {
    url = url.replace(filter[i], "");
}
// Returns everything before the first / in the URL
var cleanUrl = url.split("/")[0]; // cleanUrl should equal "xyzsite.com" now

我可能会把它包装在一个函数中,这样它也可以很容易地多次运行。