繁体   English   中英

如何使用htaccess和php从wp-content / uploads文件夹中为wordpress图像加水印?

[英]How to watermark wordpress images from wp-content/uploads folder with htaccess and php?

我有一个Wordpress网站,由于某些限制,我需要在服务器端拥有照片的原件,但要在前端添加水印并直接打开照片。 我使用的是Frontend内容创建插件,并且(据我了解),并非所有插件都将带有自定义文件输入字段(使用了wp_handle_upload)。 我找到了很好的解决方案:php文件+带有RewriteRule的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与“拒绝所有“它将无法正常工作,直接文件打开后浏览器不会出现任何问题。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM