将查询字符串附加到 htaccess PDF 重定向 URL

Posted

技术标签:

【中文标题】将查询字符串附加到 htaccess PDF 重定向 URL【英文标题】:Append Query String to htaccess PDF Redirect URL 【发布时间】:2018-10-10 13:30:48 【问题描述】:

只有当人们请求下载密钥时,我才能下载 PDF。所有这些都完美无缺。问题是,如果一个人知道 PDF 的 URL,他们可以直接访问它。我想阻止对我网站上所有 PDF 的访问,同时仍然允许下载。经过几天的研究和反复试验,我开始相信重定向可能是最好的解决方案。不幸的是,我似乎无法做任何事情。

我创建了一个示例子域来演示该问题。

PDF 网址:http://design.productivemotherhood.com/pdf/home-sellers-secrets-ebook.pdf

重定向网址:http://design.productivemotherhood.com/index.php?msg=noKey

如您所见,我正在尝试重定向到索引,同时附加一个包含消息“noKey”的“msg”参数。页面重定向时传递此参数很重要,以便索引显示错误消息。

以下语句将重定向 PDF,但我不知道如何将参数附加到它。

RedirectMatch 301 (.pdf) http://design.productivemotherhood.com/index.php

过去 3 天我一直在寻找解决方案,但似乎找不到任何可行的方法。

【问题讨论】:

那么你的重定向目的地应该是http://design.productivemotherhood.com/index.php?msg=noKey 我确实试过了,但是没用。 “不起作用”是什么意思?你有任何错误吗? RedirectMatch 301 (.pdf) http://design.productivemotherhood.com/index.php?msg=noKey 按预期工作。尝试清除浏览器缓存。 那么,您是说当您被重定向到design.productivemotherhood.com/index.php 时,您会看到消息“GET Message: noKey”?我已经清除了缓存,我看到的只是开头“GET Message:”,但没有“noKey”。 【参考方案1】:

为了防止人们直接访问我网站上的 PDF 文档,我设置了一个 301 重定向回网站索引。在重定向链接的末尾,我添加了一个参数,以便在加载索引页面时,它将获取 GET 变量并向用户显示一条消息。

RedirectMatch 301 (.pdf) http://design.productivemotherhood.com/index.php?msg=noKey

一定有某种我不知道要清除的缓存通过我的主机进行(因为昨天清除我的浏览器缓存没有任何区别),但截至今天,他的解决方案正在运行。

感谢@starkeen 为我提供了这个解决方案,这正是我所需要的。

【讨论】:

以上是关于将查询字符串附加到 htaccess PDF 重定向 URL的主要内容,如果未能解决你的问题,请参考以下文章

使用 .htaccess 将查询字符串附加到 URL [关闭]

.htaccess 规则将图像文件的直接视图重定向到页面,图像作为查询字符串传递

htaccess 重定向附加查询字符串?

如何将查询字符串附加到错误文档

.htaccess 获取整个查询字符串到一个变量

空查询附加到主 URL .htaccess 问题