2015-08-24 2 views
1

У меня проблема с моим сайтом Drupal.Сглаживание ссылок на файлы в Drupal 7

  1. У меня есть ссылки в темах страниц книги, которые ссылаются на файл. Что я хочу изменить это, что URL, который показал, должен выглядеть по-другому, вместо того, чтобы: sites/default/files/../../file.pdf
    Я хочу что-то вроде documents/file.pdf
    Как сделать это?

  2. Я также хочу сделать это с загруженными/прикрепленными файлами, я загрузил псевдонимы файлов модулей, но это не похоже на то, как он работает?

Кто-нибудь из вас имеет идею или уже сделал это, и мог бы объяснить мне, как это сделать?

Thx заранее

ответ

1

Модуль псевдоним позволяет только перенаправляет на пути, которые Drupal признает легитимными. Это включает все элементы меню, созданные через встроенные или настраиваемые модули. Однако вы не можете создать псевдоним для файла, потому что Drupal не знает о файле как допустимом пути. (Drupal не ищет в файлах папок для проверки путей, а скорее собственную систему проверки правильности внутреннего меню.)

Чтобы обойти это, вы можете использовать модуль Global Redirect (см. https://www.drupal.org/project/globalredirect), где вы можете создать перенаправление от любого пути к любой странице (внутри вашего сайта или внешнего). Из-за свободы перенаправления на любую страницу вы можете включать пути к файлам.

Следует предупредить, что вы должны добавить директиву переадресации (по умолчанию 301), которая может поручить определенным браузерам обновлять закладки и т. Д. Это, вероятно, то, что вы хотите, но найдите момент, чтобы исследовать 301 переадресацию, чтобы убедиться, что вы понимаете последствия. С ссылкой на файл я бы не стал слишком беспокоиться, особенно потому, что вряд ли попал в ситуацию с поисковой системой в песочнице (поиск «эффект песочницы Google» для объяснения).

0

Наиболее надежным решением будет использование собственных правил .htaccess для расширения или сокращения пути. Выполнение этого из Drupal может испортить много ссылок на файлы.

У меня возникла проблема с перемещением многодоменных установок; возможно, ищите anwsers по этой теме, раскроют больше советов.

У Drupal на самом деле есть какой-то абстрактный обработчик файлов, который используется, например, системой CDN. Я просто не знаю, как решить эту проблему с помощью простых мер.

0

Создайте символическую ссылку на своем веб-сервере.

ln -s sites/default/files/../../ documents 

Это не нарушит существующий путь, но позволит документы, которые будут доступны через http://[yoursite]/documents пути.