0
後,如果在我的.htaccess一些規則:的.htaccess:檢查文件是否存在重寫規則
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^.*$ - [NC,L]
RewriteRule ^assets/img(.*)/([a-zA-Z0-9-_\.]*)\.(.*)\.([a-z]{2,4})$ /assets/img$1/.$2.$4/$3.$4 [NC,L]
這將導致/assets/img/path/image.jpg> /assets/img/path/image.jpg
第二條規則:/assets/img/path/image.small.jpg> /assets/img/path/.image.jpg/small.jpg
現在我要檢查small.jpg是否存在,所以我用最後一條規則代替了:
RewriteRule ^assets/img(.*)/([a-zA-Z0-9-_\.]*)\.(.*)\.([a-z]{2,4})$ /assets/img$1/.$2.$4/$3.$4 [NC]
RewriteCond %{DOCUMENT_ROOT}/assets/img$1/.$2.$4/$3.$4 !-f
RewriteRule ^assets/img(.*)/([a-zA-Z0-9-_\.]*)\.(.*)\.([a-z]{2,4})$ /assets/img/image.php?path=$1&file=$2.$4&template=$4 [NC,L,QSA]
但這並不奏效。任何想法如何檢查存在的文件,如果它已被其他RewriteRule重寫?