Предполагая, что это в .htaccess, а не в файле apache conf, theres no / в начале первой части правила перезаписи. Так что если вы хотите отобразить:
http://example.com/blah.jpg
вы делаете:
RewriteRule ^blah\.jpg$ /some_other_file.jpg [L]
Обратите внимание на отсутствие начального / и выходного периода (.), Иначе он соответствует любому символу (например, без него правило будет соответствовать blahxjpg).
Также, если вы перенаправляете что-то, что в противном случае является каталогом, вы можете обнаружить, что клиент или сервер ставят косую черту. Чтобы справиться с этим, я обычно просто делаю это: *
RewriteRule ^directory/?$ /some_other_directory/index.php [L]
или аналогичный.
Последний пункт относится к:
RewriteRule ^/(.*)$ /bar.php?code=$1 [NC,L]
В основном измените его на:
RewriteRule ^/?(.*)$ /bar.php?code=$1 [NC,L]
и я думаю, что это разберется.