【发布时间】:2011-04-11 03:14:21
【问题描述】:
亲爱的,
文件夹内images 我想用密码保护单个 php 文件 render.php
我的 .htaccess 和 .htpasswd 文件已经在该文件夹中,但是它们不起作用
.htaccess 在文件夹 /images
// does not work ??
<Files render.php>
AuthName "Login"
AuthType Basic
AuthUserFile /var/www/vhosts/site.com/httpdocs/images/.htpasswd
require valid-user
</FilesMatch>
.htpasswd
admin:818jp2uNLY6ZW
# generated with http://www.4webhelp.net/us/password.php
我在该文件夹的 htaccess 中设置规则后,该文件夹中的所有内容似乎都得到了奇怪的处理,该文件夹中的 css 文件被损坏等等。为什么这不起作用?
PS 我也完全没问题(事实上,如果可能的话,我更愿意在 php 文件本身中使用密码设置,这样我就可以确保除了该 php 文件之外没有其他任何东西受到影响,无论其名称或位置(可能更优雅和时代)虽然我看到每个人都使用 htaccess 所以那里一定有优势,对吧?
非常感谢您的建议!
【问题讨论】:
-
您以
<Files>开头,但以<FilesMatch>结尾。我很惊讶这不会引发 500 个错误 -
@Phil Brown 我猜这就是正在发生的事情,他所说的损坏意味着没有加载到页面中......
-
您是否启用了适当的覆盖以允许 .htaccess 文件中的 auth 指令?你至少需要
AllowOverride AuthConfig -
@Phil @Jacob @Marc 感谢所有 +1 对所有 cmets!这三个都是真的。我应该使用
Files还是FilesMatch?在顶部和底部标签中匹配我选择的单个 php 文件?谢谢。我还对下面唯一的“答案”做出了反应,因为我也喜欢那个(尽管该解决方案还不起作用)我本月最幸运的编码日! -
我只使用文件,虽然我不完全确定 Auth 模块指令在那里有效。
标签: php apache .htaccess apache2 .htpasswd