如何使用href从URL删除查询字符串

时间:2019-07-10 05:34:23

标签: html url

当前,我的页面网址如下所示:

https://example.com/eg?page=2

有时,URL也可能像这样:

https://example.com/eg/?page=2

我想将用户重定向到同一页面,但没有查询字符串,因此单击链接时,您将转到:

https://example.com/eg

我尝试在this问题中建议的定位标记中使用以下href

<a href=".">To home</a>

单击链接时,当当前页面URL为https://example.com/eg/?page=2时,它会像我一样删除查询字符串。但是,如果页面URL为https://example.com/eg?page=2,则会带我到https://example.com

问题:是否可以使用某种类型的目录路径(例如,我可以在href中使用的url),以便上述两个URL始终删除查询字符串?我可以使用javascript,但如果没有可能的解决方案将是首选。

注意: ,因为我正在开发可位于不同环境中的小部件,所以无法将eg硬编码到我的href网址中,因此,eg可能会发生变化。

3 个答案:

答案 0 :(得分:1)

您可以使用

<a href="javascript:window.location.href=window.location.href.split('?')[0];">Home</a>

您也可以使用document.location代替window.location。但是不建议这样做。 See here

答案 1 :(得分:1)

将此脚本应用于您的a标记。

<a href="javascript:document.location.href=document.location.href.split('?')[0];">Home</a>

答案 2 :(得分:1)

?开头的相对链接应仅修改查询字符串,因此您可以使用:

<a href="?">Home</a>

将您的示例网址定向到:

https://example.com/eg?
https://example.com/eg/?

在最终到达的网址中确实包含了?,这可能不是您想要的,但是如果您不想使用Javascript,这是一个功能选项。