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

Как заставить mod_userdir работать без косой черты в конце?

(Приношу свои извинения, если это не в том месте или уже был задан вопрос.)

Я только что настроил веб-сервер Apache, и у меня проблемы с UserDir и конечными косыми чертами. Директива UserDir просто:

UserDir public_html

И это работает для http://www.example.com/~user/ но не, насколько я могу судить, для http://www.example.com/~user. Кажется, что он отправляется DocumentRoot/~user который затем съедает это (материал в DocumentRoot имеет свой собственный набор действий для файлов, которых не существует, на всякий случай, если это важно, что касается Apache что-то делает что-то с просьбой).

Есть ли способ сделать http://www.example.com/~user работать через mod_userdir, или сначала нужен другой уровень обработки? Если да, то?

Редактировать: Немного поэкспериментировав и сравнив с другой системой, где она действительно работает, я добавил правило:

RedirectMatch /~user$ /~user/

к .htaccess в user/public_html. Так что, похоже, запрос http://www.example.com/~user является передается в каталог пользователя, но затем он не находит ничего подходящего и отправляет его обратно на сервер со словами: «Я ничего не могу найти, посмотрите в DocumentRoot. ". Так что это кажется странным заклинанием проблемы с" конечными косыми чертами ". Я подумал исправить конечные косые черты с помощью mod_rewrite обман, но я не мог найти набор правил, который бы соответствовал /~user. Таким образом, проблема заключается в том, что запрос http://www.example.com/~user не соответствует /home/user/public_html/index.html пока http://www.example.com/~user/ делает.

Уточненный вопрос: есть ли конфигурация сервера, которая исправит это совпадение, или RedirectMatch править самым простым методом?