.htaccess auth隐藏目标目录

时间:2013-08-25 19:11:27

标签: .htaccess redirect mod-rewrite basic-authentication .htpasswd

我正在寻找一种方法可以在用户登录之前隐藏目录(给出404代替它)。

例如,我有目录/admin和目录/login

我希望第一个地址的用户会看到404页面。

但是,如果他在第二页首先出现,他会看到基本的身份验证对话框,如果他输入正确的登录数据 - 他将被重定向到第一个目录并查看实际的管理面板。

如何做到这一点,你能告诉我吗?我尝试了各种组合(包括符号链接),但我得到的只有/admin目录,如果它受密码保护(如果没有 - 它正确地重定向到404,无论是使用RewriteRule还是RedirectMatch)。

RedirectMatch 404 ^/admin(/?|/.*)$

RewriteRule .* - [E=AUTH:%{HTTP:Authorization}]

    <Files login>
      AuthUserFile /www/.passwd
      AuthName PROXY
      AuthType Basic
      Require valid-user
    </Files>

RewriteCond %{AUTH} !=""
RewriteRule .* login

不工作(连续获得404)。

RedirectMatch 404 ^/admin(/?|/.*)$

RewriteRule ^login/(.*) admin/$1

RewriteCond %{THE_REQUEST} ^GET\ /admin/
RewriteRule ^admin/(.*) /login/$1 [L]

在管理目录中存在.htaccess时不起作用(否则它变得不受保护)。

0 个答案:

没有答案