-d
проверяет, является ли данный путь допустимым путем к существующему каталогу. Если вы хотите проверить обычные файлы, используйте -f
. Но вам также необходимо указать абсолютный путь к файловой системе. Итак, попробуйте это:
RewriteCond %{DOCUMENT_ROOT}/my_sub_dir%{REQUEST_URI} -f
RewriteRule ^ %{DOCUMENT_ROOT}/my_sub_dir%{REQUEST_URI} [L]