Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
ничего кроме "скрытия" index.php как я понимаю не реализует.
так вот я написал /docs, а на самом деле в терминах пхп это $_SERVER['DOCUMENT_ROOT'] который на винде один, на сервере другой.
Далее. Чтобы закрыть содержание нескольких папок внутри /docs от доступа через веб-сервер, пришлось напихать в каждую еще по файлику #2
deny from all
ErrorDocument 403 /upload.php
вторая строка показывает на самый простой скрипт который проверяет флаг доступа в сессии и соотвественно выдает файл или посылает запрос.
Предмет - картинки. На продуктовые страницы они выдаются через скрипт-модель который лепит на них ватермарки. В админке эти марки не нужны и сделан короткий путь как показано в цитате выше.
Поскольку я не могу определить этот самый DOCUMENT_ROOT в htaccess то пришлось положить /upload.php прямо в /docs, то есть в www условно говоря.
Давно так сделано, подумал пришло время наладить нормально, почитал у апачей еще раз, ничерта не понял еще раз и начал бодро объединять файлики
<Directory /usr/local/httpd/htdocs>
deny from all
ErrorDocument 403 /upload.php
</Directory>
и сразу заметил что не могу заменить /usr/local/httpd/htdocs на свой путь, потому что 1 я его и не знаю, и 2 он точно на винде один, на сервере другой.
В общем вот так сейчас
/docs/.htaccess # файл 1
/docs/upload/catalog/bg/.htaccess # это файл номер 2
Как сделать из двух один и следовательно положить в одно место (в единственное) и вызывать на попытку доступа к закрытым директориям upload.php не из публичной папки, а из папки на уровень выше ../../php ?
Можно было бы весь уплоад переместить выше публичной папки, но маленькие картинки - тумбы - отдаются в админку без скрипта, то есть в их папке нет htaccess'а #2.
Помогите, тут похоже нечто сродни Regex'ам в которых я за годы так и не разобрался.