匹配网址的javascript问题

时间:2012-04-11 03:00:54

标签: javascript javascript-events

我如何在javascript中添加一些东西来检查网站上某人的网站网址,然后重定向到网站上的某个页面,如果找到了匹配项?例如......

我们想要检查的字符串是mydirectory,所以如果有人转到mysite.com/mydirectory/anyfile.php甚至mysite.com/mydirectory/index.php,javascript会将其网页/网址重定向到mysite.com/index.php,因为它有url中的mydirectory,否则如果找不到匹配项,请不要重定向,我正在使用下面的代码...

var search2 = 'mydirectory';
var redirect2 = 'http://mysite.com/index.php'

if (document.URL.substr(search2) !== -1)
    document.location = redirect2

问题在于,它总是重定向到我,即使找不到匹配项,有没有人知道出了什么问题,是否有更快/更好的方法来做到这一点?

2 个答案:

答案 0 :(得分:2)

改为使用String.indexOf()

if (window.location.pathname.indexOf('searchTerm') !== -1) {
    // a match was found, redirect to your new url
    window.location.href = newUrl;
}

答案 1 :(得分:0)

substr不是您在这种情况下所需要的,它从字符串中提取子字符串。而是使用indexOf

if(window.location.pathname.indexOf(search2) !== -1) {
    window.location = redirect2;
}

如果可能,最好在服务器端进行此重定向。它将始终有效,更适合搜索引擎和更快。如果您的用户禁用了JavaScript,则不会重定向。