ЗДРАСЪТЕ!!!11 Есть зогадка. в корневой папке лежит хтацесс с текстом: PHP: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] а во вложенной папке - видеофайлы. Если просто их скачивать - скачиваются. Если сунуть туда хтаццесс PHP: AuthName "Restricted Area" AuthType Basic AuthUserFile /home/mysite/.htpasswd AuthGroupFile /dev/null <Files myvideo.mp4> require valid-user </Files> и соответствующий .htpasswd - йа попадаю на страничко сайта с надписью Page Not Found - действует хтаццесс из корневой директории. Внеманее знотокам! Зогадка. Как избавиться от действия корневого хтацесса во вложенной директории? * посредством добавления директив в хтацесс этой вложенной директории
Эм.. не особо тебя понял, но если нам не изменяет память (и жена :d ) то "главный" как раз корневой хтакцес и то что предложил гелиос не сработает, так как корневой уже "задал правила" Зы проверено на редиректах в корне лежит редирект на папку /admin/ в корне админ лежит рерайт енж офф.. someshit.net/admin/
Здесь другая ситуация Когда апач получает запрос, он начинает его раскручивать в обратном направлении и вложенный в папку .htaccess будет иметь приорите больший, чем корневой. Проверено на apache 2.0.59
блиин вот смотрите: / htaccess: PHP: <IfModule mod_expires.c> ExpiresByType text/html A1 </IfModule> <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] </IfModule> AuthUserFile "/home/mededapp/.htpasswds/public_html/passwd" /files/ htaccess: PHP: SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006 Options None Options +FollowSymLinks /files/podcasts/ htaccess: PHP: RewriteEngine off AuthName "Restricted Area" AuthType Basic AuthUserFile /home/mededapp/public_html/files/videos/podcast/.htpasswd AuthGroupFile /dev/null в результате при обращении к любому видео нетребующему http-авторизацию, из папки /files/podcasts/ меня выкидывает на главную страницу сайта. если требовать авторизацию - кидает на страницу сайта PageNotFound Что тут поделать?
видимо тут надо поправить вот это выражение PHP: RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] т.е. исключить из него файлы, лежащие в папке /files/podcasts/ Для этого думаю достаточно исключить слово подкаст. Исключить набор букв легко, но исключить слово сложнее. Накопал вот это: PHP: One easy way to exclude text from a match is negative lookbehind: \w+\b(?<!\bfox) отсюда http://www.codinghorror.com/blog/archives/000425.html но не понимаю как это правильно применить =\ вот так не работает: PHP: RewriteRule ^\w+\b(?<!\bfox)$ index.php?q=$1 [L,QSA] вообще символы \w и \b относятся к любым регуляркам - к js и php и в апач? или везде регулярки различаются?