浏览器没有使用查询字符串重写的 URL

浏览器没有使用查询字符串重写的 URL

当我通过添加查询字符串重写 URL 时,浏览器中的 URL 没有查询字符串。 以下是我的情况:

location / {
    rewrite ^/$ /?page=test break;
}

相反,当我访问根目录时,我会在浏览器中看到原始 URL。我可以重写到另一个路径。

答案1

如上所述,这只是一次重写,它(也应该)由 Web 服务器内部处理,而用户并不知道。

您可以通过在重写行中添加redirect或语句来暂时或永久地使该用户可见(permanentnginx 重写文档)。

小心permanent变体(HTTP 代码 301),这个名称非常直观,并且浏览器会存储它,因此之后很难更改它 - 它只能用于迁移到新系统。

使用redirect将强制浏览器使用新的 URL 重新加载网站,因此也应小心使用,因为它会显著增加页面加载时间的延迟。

答案2

发生此问题的原因是. 使用查询字符串重写有效。

相关内容