если какой либо элемент, название
# если какой либо элемент, название директории или имя файла, начинается с точки [.]
# то это считается служебным ресурсом и доступ к нему с клиентской стороны НЕвозможен
# кстати "так думают" ещё ls НЕ показывая по умолчанию такие файлы и samba, которая
# добавляет к таким файлам атрибут hidden
RewriteRule ^(.*/)\.(.*) %{REQUEST_FILENAME} [G]
# физические файлы и директории (в случае наличия DefaultIndex)
# имеют абсолютный приоритет
# если то, что просят, это физический файл,
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -f # то отдаем как есть и останавливаемся
RewriteRule ^ %{REQUEST_FILENAME} [L]
# это не файл - пытаемся думать, что это директория
# если не было слеша в конце, то делаем редирект
# прилепляя слеш в конец запроса - т.о. пользователь увидит "красивый" адрес
# фактически это может произойти только один раз - если запрос не файл,
# и в конце нет слеша (то, что после ? и сам ? НЕ учитывается!)
# кстати - [R,L] можно убрать,
#RewriteRule [^\/]$ %{REQUEST_FILENAME}/
# и тогда итоговый URL для пользователя будет больше походить на путь к
# виртуальному файлу, чем к виртуальной директории :) и это можно красиво использовать!
RewriteRule [^\/]$ %{REQUEST_FILENAME}/ [R,L]
# если то, что просят, это физическая директория,
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -d # и в ней есть DefaultIndex файл
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}index.html -f # то передаём на исполнение этот файл
RewriteRule ^ %{REQUEST_FILENAME}index.html [L]
# если то, что просят, это физическая директория,
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -d # НО в ней НЕТ DefaultIndex файл
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}index.html !-f # то передаём на исполнение сообщение об отказе в доступе
RewriteRule ^ %{REQUEST_FILENAME} [F]
# и, если запрос содержит более одной директории,
# то, зацикливаем анализ, откинув последнюю директорию
#RewriteRule (/.*/)(.*/)$ $1 [N]
# ОБРАТИТЕ ВНИМАНИЕ! Данная конструкция может добавить ненужную нагрузку на сервер,
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий