2017-05-16 38 views
1

鉴于输入http://example.com/foo.html如何检查http://example.com/subdir/foo.html是否存在,使用mod_rewrite.htaccess?这感觉就像如何使用RewriteCond测试子目录文件是否存在?

Options +FollowSymlinks 
RewriteEngine on 
RewriteBase/
RewriteCond subdir%{REQUEST_URI} -f 

应该工作,但REQUEST_URI相比,当内RewriteRule用于内RewriteCond使用时出现意外的行为(对我来说)。

回答

1

您可以使用RewriteCond这样的:

# file not present in current directory 
RewriteCond %{REQUEST_FILENAME} !-f 
# file present in subdir/ directory 
RewriteCond %{DOCUMENT_ROOT}/subdir/$0 -f 
# rewrite to subdir/ directory 
RewriteRule .+ subdir/$0 [L] 
相关问题