Вероятно, это не RewriteBase, который заставляет правило работать так же, как ведущий слеш. Кроме того, второй аргумент RewriteRule не является регулярным выражением. Вместо этого попробуйте:
RewriteRule ^/?a/b$ c
При применении RewriteRule из .htaccess начальная косая черта будет удалена из URL, что приведет к сбою шаблона, если вы включите его. Запустив шаблон с «^ /?», Он будет работать в основных конфигурационных файлах и конфигурационных файлах для каждого каталога.
Прочтите подробную документацию mod_rewrite , чтобы узнать, как работает механизм перезаписи, и значение RewriteBase.
Edit:
Как упомянуто в технических подробностях mod_rewrite и описано в документации для RewriteRule и RewriteBase , URL-адрес был преобразован в путь к тому времени, когда каталог для каждого каталога правила перезаписи оцениваются. У механизма переписывания больше нет URL для работы. Вместо этого он удаляет префикс локального каталога (каталог, содержащий файл .htaccess), который заканчивается косой чертой. Например, предположим, что посетитель запрашивает «/var/www/foo/bar/baz.html», а в «/var/www/foo/.htaccess» установлено правило перезаписи. Перед каждым правилом механизм перезаписи удаляет «/ var / www / foo /», оставляя «bar / baz.html» для сопоставления с правилом перезаписи. После обработки правила добавляется префикс локального каталога (если замена не начинается с "http://"). После того, как все правила перезаписи были обработаны, база перезаписи, если она установлена, заменяет префикс локального каталога; если нет, корень документа перезаписанный URL-адрес затем повторно вводится как подзапрос.