我想将wp-content / uploads文件夹中的所有图像重写为wp-content / thumb文件夹中的thumbs.php文件而不更改网址
这是我在.htacccess中添加的内容
# BEGIN img
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_USER_AGENT} !someweirdcrawler
RewriteRule ^(wp-content/uploads/.+?)\.(jpe?g|png|gif|svg)$ /wp-content/thumbs/index.php?img_source=http://mywebsite.com/$1.$2 [L]
</IfModule>
# END img
# other wordpress default stuff including wp-fastest-cache
这就是我想要实现的目标 访问者访问我的网站或任何图像,如
http://mywebsite.com/wp-content/uploads/2050/12/Hello-Dolly-1.0.0.1-words.jpg
并且重写应该是
http://mywebsite.com/wp-content/thumbs/index.php?img_source=http://mywebsite.com/wp-content/uploads/2050/12/Hello-Dolly-1.0.0.1-words.jpg
*对于那些可能认为...... thumbs.php不是timthumb文件的人。我编写了自己的无损图像压缩脚本
更新 它为我的其他网站工作..可能是什么问题?
最终更新: 对于那些后来找到答案的人。 所以最后是因为我的WP FASTEST CACHE htaccess Code。刚删除了-d Directive并且像魅力一样工作。但我不再使用此代码了,因为我找到了更好的选项。
以下是代码:
# BEGIN img
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f
#show original images to Image crawler Like wordpress photon or google images.
RewriteCond %{HTTP_USER_AGENT} !someweirdcrawler
RewriteRule ^(wp-content/uploads/.+?)\.(jpe?g|png|gif|svg)$ /wp-content/thumbs/index.php?img_source=http://mywebsite.com/$1.$2 [L]
</IfModule>
# END img
# other wordpress default stuff including wp-fastest-cache
答案 0 :(得分:1)
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d
请求的图像永远不会是文件和目录,因此您的条件永远不会匹配,并且永远不会重写请求。对图像的有效请求应该只是一个文件,因此请删除第二个RewriteCond
指令(-d
目录检查)。
它为我的其他网站工作..
您确定(代码是否相同)?