使用htaccess将目录(和子目录)中的所有图像重定向到php脚本

时间:2012-06-01 05:28:16

标签: .htaccess

我编写了一个基本的htaccess重写规则,将目录中的所有图像指向php脚本,以便从文件系统中的其他位置加载它们。如果目录存在但是如果我删除它中断的目录,这可以正常工作。我假设我需要在规则中添加某种通配符,因此无论目录是否存在,images目录中的所有内容都使用此规则。

RewriteCond %{REQUEST_URI} images
RewriteCond %{REQUEST_FILENAME} .*jpg$|.*gif$|.*png$ [NC]
RewriteRule (.*) /image_handler.php?image=$1

帮助表示感谢, 格雷格

1 个答案:

答案 0 :(得分:1)

您想使用REQUEST_URI而不是REQUEST_FILENAME:

RewriteCond %{REQUEST_URI} images
RewriteCond %{REQUEST_URI} ^/.*(jpg|gif|png)$ [NC]
RewriteRule ^(.*)$ image_handler.php?image=$1

REQUEST_FILENAME将是它确定的任何请求对象的实际系统路径,如果文件和目录不存在,则它不会匹配任何内容。