You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用.htaccess文件正确锁定网站指定文件夹?

问题原因

  • 配置规则放错位置:你将带认证规则的.htaccess放在了站点根目录,规则默认作用于根目录下所有文件/文件夹,所以会触发全站认证,而非仅保护指定子文件夹
  • 密码文件路径填写错误:AuthUserFile需要填写服务器绝对文件系统路径,你填写的/fares/.htpasswd是站点URL路径,Apache无法定位到密码文件,会直接返回403错误
  • 密码未加密:.htpasswd中的密码不能是明文,你现在写的djefaflia是明文,Apache校验时无法匹配,就算路径正确也会认证失败

修复步骤

  1. 调整认证配置的存放位置
    删除根目录.htaccess里的认证相关配置,仅保留404规则即可:
ErrorDocument 404 /404.html

之后在你需要锁定的子文件夹内新建.htaccess,写入以下认证规则:

#Protect Directory
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile 替换为你的.htpasswd文件对应的服务器绝对路径
Require valid-user

如果不清楚服务器绝对路径,可以在站点根目录新建一个临时PHP文件,写入<?php echo __DIR__;?>,访问该文件即可拿到根目录的绝对路径,再拼接子文件夹路径即可
2. 生成加密的密码串
不要直接在.htpasswd内填写明文密码,可通过两种方式生成符合要求的密码文件:

  • Linux服务器可直接执行命令生成:htpasswd -c /替换为你要存放密码文件的绝对路径/.htpasswd fares,按提示输入两次密码就会自动生成加密后的密码文件
  • 也可使用本地的htpasswd生成工具生成加密串,写入.htpasswd文件即可
  1. 验证配置生效
    修改完成后,本地环境重启Apache服务,托管服务器等待几秒配置自动生效即可。此时访问被保护的子文件夹会弹出认证窗口,输入正确账号密码即可访问,站点其他页面不受影响。

内容的提问来源于stack exchange,提问作者Fares

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 03:15:02