我有一个Wordpress网站,由于一些限制,我需要在服务器端有照片的原件,但在前端有水印,并直接打开照片。我正在使用Frontend内容创建插件和(据我所知)并非所有插件都会使用自定义文件输入字段(使用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的问题是什么?如果有办法拒绝任何访问/上传/有可能通过PHP代理打开图像 - 这也是一个解决方案,但当我尝试使用/wp-content/uploads/.htaccess时“拒绝所有人“它不会工作,直接文件打开时没有任何浏览器问题。
答案 0 :(得分:0)
最近我有同样的问题,在我的情况下,回答输入很容易 - 兑现。 因此,在进行一些更改时尝试清除缓存,即使在.htaccess中,也可以使用其他浏览器。 希望它有所帮助