Я перевожу статический html-сайт на drupal CMS, большую часть контента я просто скопировал на данный момент html и хочу оставить все как есть и заставить работать относительные ссылки на pdf-файлы. У Drupal есть все файлы в этом каталоге: (Я скопировал все дерево FORMER SUB DIRS - хорошо, хочу сохранить это)

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

Таким образом, все относительные ссылки в содержимом CMS становятся теперь:

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

Я хочу проверить, существует ли файл, а затем переписать URL

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

Как я мог достичь этого?

2 ответа2

2

Вам понадобятся обратные ссылки RewriteCond . Пожалуйста, смотрите руководство для деталей.

Грубо (но у меня нет возможности проверить это в данный момент):

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

%1 - это обратная ссылка RewriteCond , а не обратная ссылка RewriteRule (это будет $1)

0

работает таким образом

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

(но, к сожалению, я забыл, что под docroot есть другой уровень subdir, который apache не может знать.)

Я хочу выяснить, установлю ли я псевдоним пути drupal для всех документов верхнего уровня - я посмотрю

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .