【问题标题】:How to watermark wordpress images from wp-content/uploads folder with htaccess and php?如何使用 htaccess 和 php 为 wp-content/uploads 文件夹中的 wordpress 图像添加水印?
【发布时间】:2014-07-24 11:58:07
【问题描述】:

我有一个 Wordpress 网站,由于一些限制,我需要在服务器端有照片的原件,但在前端有水印的,并且可以直接打开照片。我正在使用前端内容创建插件,并且(据我了解)并非所有插件都会使用自定义文件输入字段(使用 wp_handle_upload)进行分叉。我找到了很好的解决方案:使用 RewriteRule 的 php 文件 + htaccess 设置。问题是由于某种原因它对我不起作用。

解决办法是: http://dolcepixel.com/how-to-watermark-all-your-uploaded-images/

当我打开文件时:

/watermark.php?p=br&q=90&src=wp-content/uploads/link/to/file.jpg

一切都很好,图像上有水印,但是当此图像加载到页面上或浏览器中的直接链接时 - 没有任何反应。它加载没有水印的原始图像。

有两个主要设置: htaccess 规则

RewriteRule ^wp-content/uploads/(.*\.(jpe?g|gif|png))$ watermark.php?p=br&q=90&src=wp-content/uploads/$1

以及 mod_rewrite 部分的完整块:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^wp-content/uploads/(.*\.(jpe?g|gif|png))$ watermark.php?p=br&q=90&src=wp-content/uploads/$1
</IfModule>

php 文件更大,它的工作原理如我所见,问题出在其他问题上,但您可以在帖子顶部的链接中找到 .php。

我、Apache、.htaccess 或 Wordpress 有什么问题?如果有办法拒绝对 /uploads/ 的任何访问,并有可能通过 php 代理打开图像 - 这也是一个解决方案,但是当我尝试使用 /wp-content/uploads/.htaccess 时,“拒绝所有人” " 它不会工作,直接文件打开时浏览器没有任何问题。

【问题讨论】:

    标签: php wordpress image .htaccess watermark


    【解决方案1】:

    最近我有同样的问题,在我的情况下回答很容易 - 兑现。 因此,即使在 .htaccess 中进行一些更改或使用其他浏览器时,也要尝试清除缓存。 希望对你有帮助

    【讨论】:

    • 不,它不是那个变种。我在 Chrome 中使用了另一个浏览器和 Inkognito 模式(根本没有缓存) - 没有水印:(
    猜你喜欢
    • 2023-01-08
    • 1970-01-01
    • 2017-11-27
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 2016-02-05
    • 2020-02-09
    • 1970-01-01
    相关资源
    最近更新 更多