Каждый вебмастер может спеть песню о проблеме отсутствующих завершающих слэшей при использовании URL ссылающихся на каталоги. Если они отсутствуют, сервер выдает ошибку, потому что если вы пишете /~quux/foo вместо /~quux/foo/ сервер ищет файлfoo. И поскольку этот файл является каталогом, происходит ошибка. В действительности, в большинстве случаев это исправляется само, однако, в некоторых случаях, нужно самим эмулировать этот механизм. Например, после того, как вы сделали массу сложных редиректов URL на CGI скрипты и т.д.
Решение:
Решение этой тонкой проблемы — это позволить серверу добавлять завершающий слэш автоматически. Чтобы сделать это правильно, мы должны использовать внешний редирект, для того чтобы браузер правильно запрашивал картинки и пр. В случае если бы мы сделали только внутренний редирект, это бы работало только для самой страницы каталога (страницы по-умолчанию), однако были бы проблемы при наличии любых картинок на этой странице с относительными URL, потому что браузер сделал бы запрос на вставку in-lined объекта. Например, запрос для image.gif на странице /~quux/foo/index.html без внешнего редиректа выглядел бы как /~quux/image.gif!
Поэтому, для того чтобы сделать это трюк, мы пишем:
RewriteEngine on
RewriteBase /~quux/
RewriteRule ^foo$ foo/ [R]
Сумашедший и ленивый может даже сделать следущее в файле .htaccess находящемся в корне веб-пространства своего сайта. Однако, следует отметить, что это создает некоторые накладные расходы.