当我通过添加查询字符串重写 URL 时,浏览器中的 URL 没有查询字符串。这是我所拥有的:
location / {
rewrite ^/$ /?page=test break;
}
相反,当我访问根目录时,我会在浏览器中看到原始 URL。我能够重写到另一条路径。
当我通过添加查询字符串重写 URL 时,浏览器中的 URL 没有查询字符串。这是我所拥有的:
location / {
rewrite ^/$ /?page=test break;
}
相反,当我访问根目录时,我会在浏览器中看到原始 URL。我能够重写到另一条路径。
正如所写,这只是一个重写,它(并且应该)由 Web 服务器在内部处理,而用户不知道它。
redirect
您可以通过将orpermanent
语句添加到您的重写行(用于重写的 nginx 文档)来临时或永久地使此用户可见。请注意
permanent
变体(HTTP Code 301),名称非常字面,浏览器会存储它,因此以后很难更改它 - 这应该只用于迁移到新系统。使用
redirect
将强制浏览器使用新 URL 重新加载站点,因此也应谨慎使用,因为它会显着延迟页面加载时间。这个问题是因为这个而发生的。用查询字符串重写是可行的。