У меня есть mod_rewrite и работает нормально, поэтому /screens/myScreen/myAction?id=123
переписывается как (примерно) /actions/screen.php?scr=myScreen&cmd=myAction&id=123
Я пытаюсь настроить журналы apache, чтобы они включали только то, что мне действительно нужно, в удобном для анализа формате. Я хотел бы записать исходный путь URL (/screen / myScreen / myAction) и исходную строку запроса (id = 123).
Я пробовал варианты, найденные в документах :
% U отлично работает и лог /screens/myScreen/myAction
Но % q вместо регистрации ?id=123
, как я и ожидал, ведет запись ?scr=myScreen&cmd=myAction&id=123
(строка запроса после переписывается вместо первоначальной).
Самым близким, что я нашел, было % r , но оно включает метод, протокол и все вместе, как GET /screens/myScreen/myAction?id=123 HTTP/1.1
Есть ли способ получить только оригинал id=123
?
В случае, если это имеет значение, я использую это правило перезаписи:
RewriteRule ^screens/([a-zA-Z0-9_]+)/([a-zA-Z]+)$ /fx/actions/screen.php?_scr=$1&_cmd=$2 [QSA,L]
.