Наконец, мы должны перейти с (только в локальной сети) Apache 2.2 на Apache 2.4.К сожалению, похоже, что порядок обработки ProxyPassMatch действительно изменился.
Ранее в Apache 2.2 мы использовали:
# /cms/media is on CMS server, files will be cached locally at folder system_a
# there is a session information at /cms/media/(<sessionID>/ followed by a path
ProxyPassMatch ^/cms/media/(.*)$ http://app1.com/system_a/$1
RewriteCond %{DOCUMENT_ROOT}/$1$2$3$4 !-f
RewriteCond %{DOCUMENT_ROOT}/app1/local_cache/index.php -f
RewriteRule \/(system_a\/)\(.*\)\/([^\/]*\/)([^\/]*\/)(.*) /app1/local_cache/index.php
RewriteCond %{DOCUMENT_ROOT}/$1$2$3$4 -f
RewriteRule \/(system_a\/)\(.*\)\/([^\/]*\/)([^\/]*\/)(.*) /$1$2$3$4
Условие перезаписи было вызвано, когда проход прокси изменил путь / cms /медиа для / system_a.Теперь, с Apache 2.4, похоже, что сопоставление прохода прокси применяется ПОСЛЕ того, как применяются условия перезаписи и правила перезаписи.
Есть ли способ изменить его так, чтобы сопоставление прохода прокси изменило URL и перезаписьправила применяются позже?
Что я уже пробовал:
- изменить соответствие прохода прокси на правило перезаписи -> не работает, так как механизм кеширования внутри php нуждается в надлежащемпуть для извлечения данных, если он еще не доступен локально
- измените правило более поздней перезаписи на использование / cms / media вместо локальной папки / system_a -> та же проблема, что и выше
Извинитеесли это глупый вопрос, возможно, мой разум просто застрял, потому что у меня нет кофеина: -)