2

我正在寻找一种方法可以在用户登录之前隐藏目录(给出 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 时无法正常工作(否则它会不受保护)。

4

0 回答 0