难以构建绝对URL

时间:2015-11-02 22:09:30

标签: javascript php html parsing url

www.baxter.com源页面显示大多数以baxter开头的href链接,如下所示 -

href="/baxter/corporate.page?">About Baxter<

所以我从上面构建绝对网址的方法是将基本网址www.baxter.com和相对网址/baxter/corporate.page?组合在一起,给我www.baxter.com/baxter/corporate.page?,结果为404,导致实际网址为www.baxter.com/corporate.page? 我知道如何通常解析PHP中的相对URL,但有没有办法感知和删除这些相对URL中的单词?

此外,About Baxter网页上的www.baxter.com鼠标悬停显示页面左下角的正确网址www.baxter.com/corporate.page? - 来自何处?可以访问吗?

非常感谢任何帮助/指示...

11月7日编辑:

在main.js中,他们正在删除/baxter

var fixer = function() {
var init = function() {
    var digitasFinder = /(proto)|(cms-)|(teamsite-)/
      , baxterFinder = /(\/baxter\/)/
      , $allAnchors = $("a")
      , $allForms = $("form");
    digitasFinder.test(location.host) || ($allAnchors.each(function() {
        var $this = $(this)
          , actualHref = $this.attr("href");
        if (baxterFinder.test(actualHref)) {
            var newHref = actualHref.replace(baxterFinder, "/");
            $this.attr("href", newHref)
        }
    }
    ),
    $allForms.each(function() {
        var $this = $(this)
          , actualAction = $this.attr("action");
        if (baxterFinder.test(actualAction)) {
            var newAction = actualAction.replace(baxterFinder, "/");
            $this.attr("action", newAction)
        }
    }
    ))
}
;
return {
    init: init
}

}

1 个答案:

答案 0 :(得分:0)

看起来在页面加载时执行的某些JavaScript正在修改链接的href

您可以尝试复制JS代码的效果(即从链接中删除'/baxter'),或者对于更通用的解决方案,您可以使用无头浏览器来执行JS代码,然后评估结果DOM。查看the Mink project以获取基于PHP的解决方案。