我正在尝试为我网站上的图片添加水印。 它在我的本地测试PC上为我工作,但在托管上,他们强制执行
RewriteBase /
这似乎使事情变得复杂。
.htaccess放在/ images / stories / virtuemart / product /文件夹中按预期工作了,我无法找到解决方法。
一些最新版本是:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^images/stories/virtuemart/product/(.*)\.(jpeg|jpg)$ /watermark/watermark.php [QSA,NC]
我也尝试将其放在根.htaccess
中在我的测试服务器上运行的原始版本没有Rewritebase /在根目录中:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.(gif|jpeg|jpg)$ ../../../watermark/watermark.php [QSA,NC]
我怀疑问题可能在于将URI与watermark.php相关联,或者可能需要在接收此请求的php中更改某些内容,例如:这部分:
$path = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];
preg_match('@\.(gif|jpg|jpeg|png)$@i',$_SERVER['REQUEST_URI'],$m);
$ext = strtolower($m[1]);
$generated = CACHE.md5($_SERVER['REQUEST_URI']);
或规则应存储更多参数,例如:
RewriteCond %{REQUEST_URI} ...
非常感谢任何帮助。