我正在抨击键盘试图弄清楚这一个。我正在运行一个图像密集的站点,我在显示图像之前预先处理图像(重新调整大小/标记/保存)。
这是我的问题,如何使用mod_rewrite检查目录(/cache/photos/600x500/xxx.jpg或/cache/photos/200x400/xxx.jpg)中是否已存在已处理的图像,如果不存在怎么办我将该请求重新映射到图像处理脚本,该脚本将从原始图像创建图像并将其显示给用户。
感谢您的帮助。我一直试图找到一个类似的问题,但这令我难以置信:)
答案 0 :(得分: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]
答案 1 :(得分:0)
你需要类似的东西
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(expression$) /path/to/script?file=$1 [L]
您的脚本需要生成文件并打印/提供图像