Динамический RewriteBase с опциональным index.php

У меня есть динамические базовые URL-адреса в /us/ , /ca/ и /fr-ca/ . Используя предлагаемый RewriteCond, как упоминалось здесь , я смог заставить это работать в большинстве случаев. Случаями, которые он работает, является то, что index.php не включен в URL-адрес, поэтому:

  • / Нам / путь / Подпуть
  • / Нас / path2 / Подпуть
  • / Нам / путь / Подпуть
  • / Нас / path2 / Подпуть

Для каждого из этих $_SERVER['BASE'] вернется /us/ .

Если мое приложение подключается к index.php в URL, BASE больше не предоставляется.

Я пытался использовать RewriteCond $0#%{REQUEST_URI} ^((?:index.php/)?)([^#]*)#(.*)\1$ , но весь URL-адрес возвращается как BASE

EDIT Я вижу теперь, что с ^ Я говорю htaccess ожидать index.php перед / directory /. Продолжаем копаться здесь.

Изменить 2 :

Мой корень документа виртуального хоста указывает на /var/www/html . Внутри / var / www / html есть реальный каталог, называемый us . Каталоги ca и fr-ca являются символами для us .

Мой htaccess переписывает ls:

 Options +FollowSymLinks RewriteEngine on RewriteCond $0#%{REQUEST_URI} ^([^#]*)#(.*)\1$ RewriteRule ^.*$ - [E=BASE:%2] 

Related of "Динамический RewriteBase с опциональным index.php"