(Приношу свои извинения, если это не в том месте или уже был задан вопрос.)
Я только что настроил веб-сервер 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
править самым простым методом?