
Eu tenho um site com uma estrutura de diretório virtual mysite.com/folder/title
que na verdade é uma reescrita de .htaccess para mysite.com/f/index.php?p=title
. Quero proteger a pasta com senha folder
com .htaccess e saber como fazer isso com pastas reais. Mas não quero proteger com senha o site principal mysite.com
e, agora, se eu colocar o arquivo .htaccess no mysite.com
diretório, estou protegendo mysite.com
e mysite.com/folder
. Eu também tentei proteger o mysite.com/f
.
Como posso proteger apenas mysite.com/folder
usando .htaccess?
Conteúdo .htaccess de 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>
Arquivo .htaccess que tentei mysite.com/f
Isso protege todo o site com êxito quando movido para outro arquivo .htaccess, então sei que o caminho está correto.
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /home/myusername/.htpasswd
Responder1
Primeiro de tudo, você não deveria colocar essa configuração (as regras de reescrita) em arquivos .htaccess, você deveria colocá-la no arquivo de configuração principal em uma seção Directory (supondo que você tenha acesso a esse arquivo). ODocumentos do Apache explicam por que.
Você deve verificar se possui as configurações corretas de AllowOverride. Se tudo estiver configurado corretamente, ter o arquivo .htaccess especificado na pasta mysite/f deve ser suficiente para protegê-lo com senha.