-d checks if the given path is valid for an existing directory. If you want to test regular files, use -f . But you also need to provide an absolute path to the file system. So try the following:
RewriteCond %{DOCUMENT_ROOT}/my_sub_dir%{REQUEST_URI} -f RewriteRule ^ %{DOCUMENT_ROOT}/my_sub_dir%{REQUEST_URI} [L]
Gumbo
source share