是否可以使用javascript重定向网址的主机名?
如果网址包含"内容/文章",则它应保留在同一网址中。否则,它应该将所有其他URL从www重定向到www1。
我认为我得到了" / content / articles" 部分,但 window.location.replace 似乎无法正常工作。
例如:
<script type="text/javascript">
window.onload = function() {
if (window.location.href.indexOf("/content/articles") > -1) {
// Do not redirect
} else {
// Redirect from www to www1
window.location.replace(window.location.protocol + "//" + window.location.hostname.replace("www", "www1")+window.location.pathname);
}
}
</script>
&#13;
答案 0 :(得分:4)
您可以使用window.location.href.replace()
let url = window.location.href.replace('://www','://www1')
console.log(url);
以下是示例
<script type="text/javascript">
window.onload = function() {
if (window.location.href.indexOf("/content/articles") > -1) {
// Do not redirect
} else {
// Redirect from www to www1
window.location.href = window.location.href.replace('://www','://www1');
}
}
</script>
replace('://www','://www1')
也很好,因为它只替换第一次出现
答案 1 :(得分:0)
我无法评论所以我在这里发布@shalitha的答案是正确的,并且替换不会有任何问题,因为只有替换才会替换第一个实例。如果要替换所有实例,则需要向其添加g(全局),这是我们不想要的。 详情 - https://www.w3schools.com/jsref/jsref_replace.asp