1

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

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

帮助表示赞赏,格雷格

4

1 回答 1

1

您想使用 REQUEST_URI 而不是 REQUEST_FILENAME:

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

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

于 2012-06-01T05:50:40.580 回答