Дано.
- Хостинг nginx + apache 2.2.4
- Сабдомен, это важно т.к. в нём "не правильно" работает %{DOCUMENT_ROOT} она отдаёт путь к папке основного домена. t.wakh.ru (в прочем вариант с подпапкой wakh.ru/t тоже не сработал).
- Файлы для проверки:
- /1.html
- /1.shtml
- /d1/2.html
- .htaccess следующего содержания
AddHandler server-parsed .shtml
Options -Indexes +FollowSymLinks +Includes
RewriteEngine On
#RewriteOptions Inherit
RewriteBase /
RewriteCond %{REQUEST_FILENAME} (([^\/]+\/)*[^.]+)\.html
RewriteCond %1.html !-f
RewriteRule ^ 1.shtml [QSA,L,E=VARR:er]
Проблема:
- при запросе t.wakh.ru/d1/2.html редирект не происходит, файл /d1/2.html существет - всё правильно
- при запросе t.wakh.ru/d1/1.html редирект происходит, т.к. файла /d1/1.html нет - всё правильно
- при запросе t.wakh.ru/d2/1.html редирект не происходит, хотя каталога d2 нет, соответственно и файла /d2/1.html тоже - Как это исправить?
Вариант с
RewriteCond %{REQUEST_FILENAME} (([^\/]+\/)*[^.]+)\.html
RewriteCond %2 !-d
не сработал.
Я выяснил, что при отсутствии каталога не срабатывает RewriteCond %{REQUEST_FILENAME} (([^\/]+\/)*[^.]+)\.html
Если захотите помочь, не поленитесь создать подобную структуру на своём сервер/хостинге, в процессе тестирвания на моём возникло неадекватное поведение и нажатие на Ф5 хаотично выдавало разные результаты.
И ещё вопрос, в процессе тестирования я хотел использовать флаг env|E=[!]VAR[:VAL], но в нём оказывается пустое значение. Почему?
PS
Прошлый мой вопрос остался без ответа, вероятно в следствии сумбурности.