如何在.htaccess RewriteCond的TestString部分中插值?

时间:2010-06-14 17:43:14

标签: apache .htaccess mod-rewrite

如何在RewriteCond指令的TestString部分中插入像%{REQUEST_FILENAME}这样的值?这就是我想要做的事情:

# non-existent requests to /webroot files get 404'd
RewriteCond site/%{REQUEST_FILENAME} !-f
RewriteRule ^/?webroot site/webroot/404 [L]
# otherwise, let them in!
RewriteRule ^/?webroot/(.*)$ site/webroot/$1 [L]

我想要发生的是检查访问domain.com/webroot/image.jpg的请求,以查看site / webroot / image.jpg是否存在。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

# non-existent requests to /webroot files get 404'd
RewriteCond site/%{REQUEST_FILENAME} !-f
RewriteRule ^/?webroot site/webroot/404 [L]
# otherwise, let them in!
RewriteCond site/%{REQUEST_FILENAME} -f
RewriteRule ^/?webroot/(.*)$ site/webroot/$1 [L]

答案 1 :(得分:0)

RewriteBase /
RewriteCond /full/path/to/site/$0 -f
RewriteRule .* tese/$0 [QSA]

您可能还想停用“site”目录的规则。