.htaccess - 使用 .htaccess 将图像的直接链接重定向到 php 页面

标签 .htaccess redirect

我有一个页面,其中列出了许多照片链接。单击链接将带您进入 page.php 页面,查看带有水印和其他一些内容的图像本身(由 php 添加)。我想要的是,如果人们直接转到大图像(本身没有水印),他们将被重定向到 page.php 页面,以便应用水印。

常规 html 文件上的链接示例

<a href="/page.php?i=image1" target="new">Link to Image 1</a>

page.php 的一部分

<?php $file = $_GET['i']; ?>
<img src="/img/<?php echo $file ?>.png" />

我将在该论坛中找到的这行代码放入下面的 .htaccess 中。但是,虽然重定向有效,但图像不会显示在 page.php 和其他 html 文件上。我猜图像链接也受到重定向的影响并被破坏。你能帮忙吗?谢谢!

RewriteRule ^img/(.*)\.png$ /page.php?i=$1 [NC,L]

最佳答案

问题是您的 img 标签喜欢重写 URL。因此,您应该允许空引用,这就是第一行的作用:

RewriteCond %{HTTP_REFERER} ^$
RewriteRule ^img/(.*)\.png$ /page.php?i=$1 [NC,L]

关于.htaccess - 使用 .htaccess 将图像的直接链接重定向到 php 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13538171/

相关文章:

apache - 如何使用htaccess从www重定向到https www?

redirect - 509 超出带宽限制的问题

php - 使用 PHP 输出 CSS、javascript 和图像

c# - RedirectToAction 不会更改 URL

php - HTTP 内容类型响应中的错误字符集

apache - .htaccess 重写规则忽略字符串,url 中的多个 GET 变量

javascript - 重定向到不同域中的相同路径

http - Varnish 重定向

.htaccess - GitHub Pages 是否有 .htaccess 的替代方案?

apache - header 在javascript文件不起作用时过期