Ответ 1
Вероятно, это не RewriteBase, которая заставляет правило работать так же, как и ведущая косая черта. Кроме того, второй аргумент RewriteRule не является регулярным выражением. Вместо этого попробуйте:
RewriteRule ^/?a/b$ c
При применении RewriteRule из .htaccess ведущая косая черта будет удалена из URL-адреса, что приведет к сбою шаблона, если вы включите его. Запустив шаблон с помощью "^/?", Он будет работать в основных файлах конфигурации и в файлах конфигурации каждого каталога.
Прочитайте подробную документацию mod_rewrite, чтобы узнать, как работает механизм перезаписи и значение RewriteBase.
Изменить: Как упоминалось в 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-адрес повторно вводится как подзапрос.