У меня есть динамические базовые URL-адреса в /us/
, /ca/
и /fr-ca/
. Используя предлагаемый RewriteCond, как упоминалось здесь , я смог заставить это работать в большинстве случаев. Случаями, которые он работает, является то, что index.php не включен в URL-адрес, поэтому:
Для каждого из этих $_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]