![variável apache RewriteCond para partes de REQUEST_URI](https://rvso.com/image/1267752/vari%C3%A1vel%20apache%20RewriteCond%20para%20partes%20de%20REQUEST_URI.png)
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 RewriteCond
referê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 RewriteCond
referência anterior, em oposição a uma RewriteRule
referê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