使用.htaccess密码保护没有索引文件的目录

3

如何对没有索引文件的目录进行密码保护?我只想保护索引部分,而不是其中的文件。

例如:

http://www.example.com/foo/            Password required
http://www.example.com/foo/bar.html    No password required

我可以通过以下方式使这些内容被禁止:forbidden
Options -Indexes

但是我不想禁止它们,相反我希望它们需要密码。

这个可能吗?谢谢。


你能解释一下你的理由吗?我的意思是,为什么要对/foo进行密码保护,而不是/foo/bar.html呢?你想要达到什么目的?你可以按文件来进行保护,但你提到没有index.html。 - Terrence M
2
在许多公司中共享文档的工具(如Sharepoint)中,它们保护目录列表但允许直接访问,如果你的老板给你一个特定的文件URL。 - Pier-Alexandre Bouchard
1
您可以通过对index.php进行密码保护,但允许其他文件来实现此操作。index.php可以是一个基本生成目录列表的php脚本。 - Terrence M
我支持Terrence M的想法。这比使用htaccess(mod_require+setenvif+require+allow)要容易得多。 - Gerben
1个回答

1
我已经想出如何做到了! :D

首先为那些没有索引页面的人放置一个PHP生成的目录:

DirectoryIndex default.php index.php index.html /php_directory.php

然后只需对php_directory.php文件进行密码保护!

AuthUserFile /full/path/here/.htpasswd
AuthType Basic
AuthName "Log in"

感谢您所有的评论!(这些评论帮助我得到了这个结果)


1
这是一种非常干净的做法!我真的很喜欢它。几天前,我也尝试了使用php_directory。我的解决方案更加复杂,最终并没有很好地运作。 - Pier-Alexandre Bouchard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接