Международные символы для имен файлов, которые будут использоваться с доступом Plone / Zope WebDAV

Я пытаюсь использовать Plone v5.1 / Zope в качестве ограниченного сервера WebDAV. Возможно, он не был создан для этого использования, но сервер работает и может использовать другую функцию.

Проблема в том, что на любое имя файла, отличное от ASCII, подается жалоба, и запрос отклоняется:

2019-05-13T13: 13: 33 ОШИБКА Zope.SiteErrorLog 1557746013.370.660165719891 http://example.de:9800/inf/de/it/H%C3%B6h/MKCOL BadRequest: идентификатор "Höh" содержит недопустимые символы в URL-адрес. "MKCOL /inf/de/it/Höh/ HTTP/1.1" 400 225 "" "dave/v2.00 (perldav)"

Я почти уверен, что не могу изменить Zope / Plone для принятия этих имен, потому что строка используется внутренне как id. Однако я могу ошибаться.

С веб-интерфейсом Apache я, вероятно, мог бы использовать "Внешнюю программу перезаписи", как упомянуто на http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html, для искажения имен файлов при загрузке их в Plone., Это было бы движением. Тем не менее, я бы хотел "отменить" этот шаг искажения, чтобы пользователь увидел исходное имя файла.

Скажем, запрос MKCOL /inf/de/it/Höh/, Apache переписывает его в: MKCOL /inf/de/it/+-H-C3-B6h/, используя + - в качестве маркера для искаженных идентификаторов и "-" в качестве замена для%-кодированных символов. Есть ли способ заставить Proxy-Engine использовать переписывание?

0 ответов

Другие вопросы по тегам