0

我把头撞在键盘上试图弄清楚这一点。我正在运行一个图像非常密集的站点,我在显示图像之前对图像进行预处理(重新调整大小/标记/保存)。

这是我的问题,如何使用 mod_rewrite 检查处理后的图像是否已存在于目录(/cache/photos/600x500/xxx.jpg 或 /cache/photos/200x400/xxx.jpg)中,如果不存在,我该如何重新映射请求图像处理脚本,该脚本将从原始图像创建图像并将其显示给用户。

谢谢你的帮助。我一直在试图找到一个类似的问题,但这让我难以置信:)

4

2 回答 2

1
#First check if the request is for a JPG:
RewriteCond %{REQUEST_URI} (.*).jpg$

#If so, see if it exists in /cache/photos/600x500/xxx.jpg
RewriteCond %{DOCUMENT_ROOT}/cache/photos/600x500/%1.jpg -f [NC]

#If so, serve that:
RewriteRule .* cache/photos/600x500/%1.jpg [L]

# Similar set of rules for other cache:
RewriteCond %{REQUEST_URI} (.*).jpg$
RewriteCond %{DOCUMENT_ROOT}/cache/photos/200x400/%1.jpg -f [NC]
RewriteRule .* cache/photos/200x400/%1.jpg [L]

# Final rewrite for jpg files:
RewriteCond %{REQUEST_URI} (.*).jpg$
RewriteRule (.*) createimage.php?image=$1 [L]
于 2012-05-15T05:19:24.717 回答
0

你需要这样的东西

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule    ^(expression$)   /path/to/script?file=$1 [L]

并且您的脚本需要生成文件并打印/提供图像

于 2012-05-15T04:59:28.100 回答