我看到这个重写是为了让图像重定向到特定的网页。它允许在我的网站和其他网站上使用图像。
RewriteCond %{HTTP_REFERER} ^$
RewriteCond %{REQUEST_URI} ^/uploads/(\d+)-(.+)\.(png|gif|jpe?g|bmp)$ [NC]
RewriteRule (.*) http://www.sitename.com/view/%1-%2/
如果我尝试直接从地址栏访问图像并且我正在查看我的网站,这非常有用。我注意到的问题是用户是否在另一个站点上写了一个链接:
<a href="http://www.sitename.com/uploads/123-Charizard.png">Click</a>
它会将它们带到该图像,而不是页面。
我应该对重写进行哪些修改,以便将用户重定向到/ view / page。
编辑:我注意到的另一件事是,当使用上面的重写将图像发布到Facebook时,它不会像以前一样显示缩略图。我假设这是一个无法解决的问题?答案 0 :(得分:0)
RewriteCond %{HTTP_REFERER} ^$ [OR]
RewriteCond %{HTTP_REFERER} !^http://domain.com
RewriteCond %{REQUEST_URI} ^/uploads/(\d+)-(.+)\.(png|gif|jpe?g|bmp)$ [NC]
RewriteRule (.*) http://domain.com/view/%1-%2/
用于防止缓存:
<filesMatch "\.(png|jpeg|jpg|gif)$">
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</filesMatch>