Частичная верхняя и нижняя строчки приводят к тому, что 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 преобразовать суффикс в нижнем регистре в конце перейти на версию формы UPPERCASE?
1 ответ
Конечно, это делает меня более легким, когда вы можете игнорировать случайность, когда вы говорите о себе, верно?
Исторически: файловая система 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>