Обновление структуры URL с помощью .htaccess - PullRequest
1 голос
/ 05 декабря 2011

Я в растерянности, что делать здесь. По сути, у меня нетехнический клиент, который использует загрузчик контента Joomla для загрузки PDF на свой веб-сайт. Поскольку у него мало знаний по этим вопросам, я не могу изменить способ загрузки PDF-файлов. Однако, когда он загружает эти файлы, к ним обращаются по адресу http://www.website.com/images/stories/mktinsights/somepdf.pdf, но когда он щелкает по этим ссылкам в своей статье, он получает http://www.website.com/resources/images/stories/mktinsights/somepdf.pdf

У меня вопрос, есть ли способ в .htaccess удалить / resources /, не нарушая другие ссылки, использующие эту структуру.

Надеюсь, мой вопрос имеет смысл. Спасибо.

Ответы [ 2 ]

1 голос
/ 06 декабря 2011

Первый вопрос на самом деле: почему это происходит? Когда он создает ссылку на PDF-файлы и вы просматриваете источник (в редакторе перед сохранением содержимого), является ли «ресурсами» часть пути? Если нет, то происходит какое-то перенаправление или перезапись URL-адреса, и его необходимо отследить и удалить. Если «ресурсы» являются частью пути, вам нужно выяснить, почему. Это совершенно определенно НЕ поведение по умолчанию Joomla и вызвано либо дополнением, либо, возможно, настройкой. Возможно, стоит проверить глобальную конфигурацию, чтобы увидеть, есть ли что-то видимое, содержащее «ресурсы».

Если он использует нестандартный редактор WYSIWYG, возможно, стоило бы переключиться (временно) в редактор по умолчанию, чтобы посмотреть, изменится ли поведение. Если он использует какой-либо сторонний плагин 'linker' (обычно это кнопка под редактором WYSIWYG), попробуйте вставить ссылку вручную или использовать какой-либо другой механизм (особенности зависят от используемого редактора).

Если все остальное терпит неудачу - и ТОЛЬКО, если все остальное терпит неудачу - следующая строка, добавленная к файлу .htaccess, должна работать. Добавьте его после строки RewriteBase - но до остальной части переписывающих текстов Joomla:

RewriteRule resources/(.*)$ $1 [L]

Я заметил, что некоторые серверы, похоже, требуют косой черты перед ресурсами, а другие нет. Если он не работает, добавьте его.

О, и если у вас нет файла с именем .htaccess в корне сайта, вам нужно либо указать вашему FTP-клиенту показывать «точечные» или «скрытые» файлы, либо если никто этого не сделал уже переименуйте файл htaccess.txt в .htaccess (начинается с точки и не имеет другого суффикса файла).

1 голос
/ 05 декабря 2011

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

В качестве альтернативы, если у вас есть доступ, вы можете использовать объявление псевдонима Apache:

Alias   /mktinsights    /resources/images/stories/mktinsights
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...