Назад | Перейти на главную страницу

Частичные прописные и строчные буквы приводят к тому, что URL-адреса не ведут в одно и то же место?

Я работаю в организации с сервером управления контентом, недавно переведенным на Apache. Я не знаю, что это было раньше, но я не уверен, почему происходит следующее и как исправить это теперь, когда произошло переключение. Позвольте мне показать проблему:

URL 1: http://example.org/1234EN.pdf

URL 2: http://example.org/1234en.pdf

1234 - это номер определенной формы, а часть EN (или en) обозначает язык, на котором находится форма, в данном случае английский. Проблема в том, что URL-адрес 1 переходит в конкретную форму, а URL-адрес 2 никуда не уходит. Чтобы устранить эту ошибку, которую легко сделать, я не хочу создавать и поддерживать две версии одной и той же формы, по одной для каждого URL-адреса, потому что содержимое формы часто изменяется, и обе версии должны быть обновлены для каждый URL. Кроме того, клиенты также не хотят признавать ошибку пользователя, а некоторых невозможно убедить ввести часть UPERCASE.

Есть ли способ решить эту проблему? Перенаправления? Или есть способ заставить Apache преобразовать суффикс в нижнем регистре в конце в версию формы в верхнем регистре?

КАК ЭТО ТАКОЕ ЖИЗНЬ намного легче, когда ВЫ МОЖЕТЕ НЕ ЗАНИМАТЬСЯ, ЧТО МЕНЯЕТСЯ САМОМ, ПРАВО?

Исторически сложилось так: например, файловая система Windows FAT32 сохранила регистр, но была нечувствительна к регистру, и при открытии файла вам не нужно использовать тот же регистр, который использовался для создания файла, в отличие от Linux. В lLinux вы должны использовать точный регистр.

Но вы можете использовать метко названный Apache mod_speling для адаптации поведения Apache так, как будто файловая система нечувствительна к регистру. https://httpd.apache.org/docs/2.4/mod/mod_speling.html

<Directory /var/www/html>
    CheckCaseOnly on
    CheckSpelling on
</Directory>