Защита паролем виртуального каталога с помощью.htaccess
У меня есть сайт с виртуальной структурой каталогов, как mysite.com/folder/title
что на самом деле переписать.htaccess в mysite.com/f/index.php?p=title
, Я хочу защитить паролем папку folder
с.htaccess, и знаете, как это сделать с реальными папками. Но я не хочу защищать паролем основной сайт mysite.com
и прямо сейчас, если я положу файл.htaccess в mysite.com
каталог, я защищаю mysite.com
а также mysite.com/folder
, Я также пытался защитить mysite.com/f
,
Как я могу защитить только mysite.com/folder
используя.htaccess?
.htaccess содержимое mysite.com
,
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^folder/(.*)$ /f/index.php?p=$1 [PT,L,QSA]
RewriteRule ^folder/*$ /f/index.php [L,QSA]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Файл.htaccess, который я пробовал в mysite.com/f
Это успешно защищает весь сайт при перемещении в другой файл.htaccess, поэтому я знаю, что путь правильный.
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /home/myusername/.htpasswd
1 ответ
Прежде всего, вам не следует помещать эту конфигурацию (правила перезаписи) в файлы.htaccess, вы должны помещать ее в основной файл конфигурации в разделе каталога (при условии, что у вас есть доступ к этому файлу). Документы Apache объясняют почему.
Вы должны проверить, что у вас есть правильные настройки AllowOverride. Если все настроено правильно, наличие указанного вами файла.htaccess в папке mysite/f должно быть достаточно для его защиты паролем.