.htaccess用文件夹中的图像重写URL到php文件

时间:2015-08-08 22:59:01

标签: wordpress apache .htaccess mod-rewrite

我想将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

1 个答案:

答案 0 :(得分:1)

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d

请求的图像永远不会是文件目录,因此您的条件永远不会匹配,并且永远不会重写请求。对图像的有效请求应该只是一个文件,因此请删除第二个RewriteCond指令(-d目录检查)。

  

它为我的其他网站工作..

您确定(代码是否相同)?