HTTP 客户端被重定向,但地址栏中显示的是旧地址

HTTP 客户端被重定向,但地址栏中显示的是旧地址

我在 www.example.com/pdf/something 上有一个 pdf 文件。在 httpd 配置中,我有一个到 www.example1.com/pdf/something 的重定向。在这两种情况下,pdf 都在下载,但到 example1 域的重定向只能在开发人员工具的网络选项卡中看到,在地址栏中,用户仍然会看到 www.example.com/pdf/something,尽管 pdf 是从 www.example1.com 下载的。

更新:配置与此类似

<VirtualHost *:80 *:443>
    RewriteEngine On
    RewriteRule ^/$ https://www.example.com/en/ [R=301,L]
    RewriteCond %{HTTP:someheader} !somevalue
    RewriteRule ^(.*)$ https://www.example1.com/en$1 [END,R=301]
</VirtualHost>

答案1

这个问题的原因是content-disposition响应标头带有attachment值,内联更改它将强制浏览器在浏览器中打开 PDF,在这种情况下将显示新位置。另一个可能的解决方案是返回一行 JS,强制浏览器从另一个位置打开 PDF。长话短说,如果有内容要显示,浏览器会更新地址栏,在我的例子中,它只是将 PDF 下载到本地存储。

相关内容