variável apache RewriteCond para partes de REQUEST_URI

variável apache RewriteCond para partes de REQUEST_URI

Eu migro um site html estático para drupal CMS, a maior parte do conteúdo acabei de copiar o html por enquanto e quero deixá-lo como está e fazer com que os links relativos aos arquivos PDF funcionem. Drupal tem todos os arquivos neste diretório: (copiei toda a árvore de FORMER SUB DIRS - legal, quero manter isso)

 DOCROOT/sites/mydomain.xyz/files/FORMER/SUB/DIRS/filename.pdf

Portanto, todos os links relativos no conteúdo do CMS passam a ser:

 http://mydomain.xyz/node/FORMER/SUB/DIRS/filename.pdf

Quero verificar se o arquivo existe e reescrever o URL

RewriteEngine On
RewriteCond     /var/www/mydomain.xyz/sites/mydomain.xyz/files/%{REQUEST_URI MINUS "node/"} -f
RewriteRule     (.*)$ /sites/mydomain.xyz/files/$1  [R]

Como eu poderia conseguir isso?

Responder1

Você precisará de RewriteCondreferências anteriores. Por favor, vejao manualpara detalhes.

Aproximadamente (mas não tenho como testar no momento):

RewriteCond     %{REQUEST_URI MINUS} ^/node(.*)
RewriteCond     /var/www/mydomain.xyz/sites/mydomain.xyz/files/%1 -f
...

A %1é uma RewriteCondreferência anterior, em oposição a uma RewriteRulereferência anterior (que seria $1)

Responder2

funciona assim

RewriteCond     %{REQUEST_URI} ^/node(.*)
RewriteCond     /var/www/schottdorf.de/sites/schottdorf.de/files%1 -f
RewriteRule     .* /sites/schottdorf.de/files/%1  [L]

(mas infelizmente esqueci que existe outro nível de subdiretórios diretamente no docroot que o Apache não pode conhecer.)

Quero descobrir se defini o alias do caminho drupal para todos os documentos de nível superior - verei

informação relacionada