Следующая ситуация:
Исходный URL-адрес имеет формат:
https://example.com/tmp/x%23.jpg
Целевой файл находится в файловой системе по следующему пути (относительно корня документа): var/assets/tmp/x#.jpg
Так что я бы хотел переписать этот путь в локальный файл, используя следующее правило:
RewriteRule "^tmp/x#.jpg$" /var/assets/$0 [PT,L]
Я также попробовал следующий подход:
RewriteRule "^tmp/x#.jpg$" /var/assets/%{REQUEST_URI} [PT,L]
Но все они приводят к 404 со следующим сообщением:
The requested URL /var/assets/tmp/x was not found on this server.
Интересно то, что URL обрезается после x
, поэтому первый специальный символ находится там.
Другим интересным фактом является то, что следующее условие соответствует, но правило не выполняется:
RewriteCond %{DOCUMENT_ROOT}/var/assets%{REQUEST_URI} -f # matches
RewriteRule ^(.*)$ /var/assets%{REQUEST_URI} [PT,L] # file not found
Может быть, у некоторых есть идея, как я могу решить эту проблему.
Большое спасибо!