我可以在父目录中使用.htaccess来保护子目录(通过.htpasswd)吗?

时间:2018-01-13 13:19:25

标签: php .htaccess .htpasswd

我正在尝试以更具扩展性的方式部署override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if let viewController = segue.destination as? SelectSoundVC, segue.identifier == "SelectSoundVC" { viewController.delegate = self } }

我有一个.htpasswd,其中有几个/parent-directory/受保护的子目录:

  • .htpasswd
  • /child-directory-1/
  • /child-directory-2/
  • /child-directory-3/

目前,每个子目录都包含以下文件:

  • /child-directory-4/
  • .htaccess
  • .htpasswd

并且每个index.php文件都指向其随附的.htaccess文件。

E.g。

.htpasswd

/parent-directory/child-directory-1/.htaccess

然而,对于每个单独的# PASSWORD PROTECT FILES AuthType Basic AuthName "Enter Page 1 Username and Password" AuthUserFile /my-path/parent-directory/child-directory-1/.htpasswd Require valid-user 单独.htaccess是很麻烦的。

我真正想要的是父目录中的单个.htpasswd文件:

.htaccess

然后包含 每个子目录的每个 /parent-directory/.htaccess 文件的指针。

这可能吗?

我正在搞乱:

.htpasswd

和变种,但我无法得到任何工作。

的进展

我在<Files "/child-directory-1/"> AuthType Basic AuthName "Enter your Page 1 Username and Password" AuthUserFile /my-path/parent-directory/child-directory-1/.htpasswd Require valid-user </Files> <Files "/child-directory-2/"> AuthType Basic AuthName "Enter your Page 2 Username and Password" AuthUserFile /my-path/parent-directory/child-directory-2/.htpasswd Require valid-user </Files> 添加了.htaccess,这样我就可以用一个/parent-directory/文件替换4个index.php文件(每个子目录中一个) index.php

以下是/parent-directory/

.htaccess

这使我能够从 3个文件减少每个子目录中的文件数量:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^[^\.]+$ http://%{HTTP_HOST}//parent-directory/
</IfModule>

2个文件

.htaccess
.htpasswd
index.php

但是......它仍然无法让我实现 真正 想要的结果,这会丢弃每个子目录中的.htaccess .htpasswd 文件。

1 个答案:

答案 0 :(得分:0)

只需将.htaccess放入您要限制的文件夹中,然后输入此代码

## no access to this folder

# Apache 2.4
<IfModule mod_authz_core.c>
    Require all denied
</IfModule>

# Apache 2.2
<IfModule !mod_authz_core.c>
    Order Allow,Deny
    Deny from all
</IfModule>