0

这就是我要解决的问题...

  1. 仅当 URL 在 mydomain.com 上明确包含 /foldername/index.htm && /foldername/ 时,才会重定向到http://www.example.com
  2. URL 是否应该包含任何URL 参数 /foldername/index.htm?example 它不应该重定向
  3. 所有其他 URL 不应重定向

这是我的 javascript,它不完整,但最终是我要解决的问题......

var locaz=""+window.location;
if (locaz.indexOf("mydomain.com") >= 0) {
    var relLoc = [
        ["/foldername/index.htm"],
        ["/foldername/"]
    ];
    window.location = "http://www.example.com"; 
}

这是为了管理一些用户基于特定方式(如书签)点击的 URL。在不删除页面的情况下,我们希望在采取进一步行动之前监控有多少人点击了该页面。

4

3 回答 3

1

页面不会总是在同一个域上,如果 url 包含/foldername/pagename.htm它是否也已经包含/foldername?因此,&&检查将是多余的。

试试下面的代码。

var path = window.location.pathname;

if  ( (path === '/foldername' || path === '/foldername/index.html') && !window.location.search ) {
    alert('should redirect');
} else {
    alert('should not redirect');
}
于 2013-03-28T14:09:29.327 回答
0
var url = window.location;
var regexDomain = /mydomain\.com\/[a-zA-Z0-9_\-]*\/[a-zA-Z0-9_\-]*[\/\.a-z]*$/    
if(regexDomain.test(url)) { 
  window.location = "http://www.example.com"; 
}
于 2013-03-28T13:57:43.423 回答
0

熟悉定位对象。它提供和作为属性pathname,为您省去了 RegExp 的麻烦(无论如何,您最想弄错)。您正在寻找以下方面的内容:searchhostname

// no redirect if there is a query string
var redirect = !window.location.search 
  // only redirect if this is run on mydomain.com or on of its sub-domains
  && window.location.hostname.match(/(?:^|\.)mydomain\.com$/)
  // only redirect if path is /foldername/ or /foldername/index.html
  && (window.location.pathname === '/foldername/' || window.location.pathname === '/foldername/index.html');

if (redirect) {
  alert('boom');
}
于 2013-03-28T14:44:17.780 回答