当通过htaccess重写图像URL时,图像被破坏

时间:2016-12-17 04:32:05

标签: image apache .htaccess redirect mod-rewrite

好的,所以我写了一个成功的htaccess重定向,但是有一个问题。正确的做法是,如果有人直接尝试访问图像,则不会查看原始图像,而是将其带到图像附件页面。

这是我的htaccess代码:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !\.php [NC]
RewriteRule ^(.*)\.jpg   http://myblog.com/?attachment=$1 [L]
RewriteRule ^files/2016/12/([^.]+)\.(jpg|jpeg|png|bmp|gif)$   http://myblog.com/?attachment=$1/ [L]

问题出现了:在图像附件页面上,它实际上显示了图像网址所在的图像,即使在查看源代码时,图像网址也是正确的。出了点问题。

见此截图: https://i.stack.imgur.com/Rpixy.jpg

整个页面加载正常,包括所有其他图像和内容。 唯一不起作用的是原始图像。files/2016/12/开始,所有图像都被打破

图片检查窗口中显示的网址是正确的图片网址,如果没有htaccess代码,则此网址会直接转到图片。

即使我手动重新加载页面,它仍会显示损坏的图像。但是,如果我删除了htaccess代码并重新加载页面,则会显示图像,因此附件页面网址是正确的。

我该如何解决这个问题?谢谢。

编辑:我想我可以通过添加一个过滤器来解决这个问题,因为这只是在它被引用的时候运行它。事实上,我认为这会更好。基本上,如果它是托管图像的域以外的任何引用者,那么它将运行重定向。我怎么能这样做?

0 个答案:

没有答案