我有一个具有虚拟目录结构的站点,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这成功地保护了整个站点mysite.com,因此我知道路径是正确的。当它在子目录中时,它会生成 404 错误而不是密码提示。
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /home/myusername/.htpasswd
require valid-user