【问题标题】:.htaccess and folder protection - Should I create another .htacess file in another folder?.htaccess 和文件夹保护 - 我应该在另一个文件夹中创建另一个 .htaccess 文件吗?
【发布时间】:2012-02-06 17:33:59
【问题描述】:

.htaccess 文件包含重写规则列表并且工作正常,

.htaccess文件在根目录,

.htaccess 包含:

RewriteEngine On
RewriteCond %{REQUEST_METHOD} !POST
RewriteRule ^index.php / [L,R=301]

如何用密码保护 /secret 文件夹?

我应该添加

AuthUserFile /secret/path/to/safedirectory/.htpasswd
AuthGroupFile /dev/null
AuthName EnterPassword
AuthType Basic
require valid-user

到根目录中的 .htaccess 文件?就在上面的代码之后,还是在最开始?

或者,我必须在 /secret 文件夹中创建另一个 .htaccess 文件,并将 .htpasswd 放入 /secret /安全目录文件夹?

谢谢。

【问题讨论】:

  • 当您已经有了可能的解决方案时,为什么不在发布前尝试所有解决方案
  • 第二种解决方案,有 2 个 .htaccess 文件在我的情况下不起作用,我试过了。它在输入密码后重定向到 401.shtml (我不明白,为什么)(第一个 .htaccess 文件有更多的重写器,我已经为这个问题简化了它)。一旦我从根文件夹中删除 .htaccess ,它就可以工作(没有重写规则)。此外,如果我从秘密文件夹中删除 .htaccess (它可以工作,但不询问密码),它也可以工作。但是,这两个文件都会出现 401 错误。我不明白为什么。这就是为什么我要问并试图了解我做错了什么。

标签: .htaccess mod-rewrite directory password-protection


【解决方案1】:

你把这个放在secret目录的.htaccess中了吗?

 AuthUserFile /path/to/safedirectory/.htpasswd
 AuthGroupFile /dev/null
 AuthName EnterPassword
 AuthType Basic
 require valid-user

您必须将 .htaccess 放在秘密目录中

【讨论】:

  • 是的。第一个 .htaccess 位于根目录中。第二个(使用您的代码) .htaccess 位于 /secret 目录中。 .htpasswd 位于 /secret/safedirectory 文件夹中。路径正确(通过输入密码进行测试,当我从根目录中删除 .htaccess 时,不会重定向到 401.shtml)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-25
  • 2013-02-01
  • 2019-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
相关资源
最近更新 更多