Если в корне сайта создать файл resource0.html (с
Nov 14, 2015
Если в корне сайта создать файл resource0.html (с содержимым, например, OK), а в .htaccess прописать те же самые директивы, но без участия modx (т.е. без вызова index.php):
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^test\.html$ resource0.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ resource0.html?q=$1 [L,QSA]
то никаких артефактов наблюдаться не будет — будет выполнен внутренний редирект на файл resource0.html (в браузере отобразится текст «OK», при этом в строке браузера останется исходный URL site.ru/test.html).
Отсюда делаем 2 вывода:
- Внешний (301) редирект выполняет не Apache, а modx (судя по всему, анализирует содержимое полей глобальной переменной
$_SERVER— иначе как modx узнает, что на уровне веб-сервера был изменён URI ресурса, который ему втюхали) - Данный вопрос здесь — очень в тему ))
P.S. На 50% проблема решена. Дело за малым — исходники modx…