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

.htaccess中使用</Directory>指令出现500内部服务器错误求助

错误原因及解决办法

核心错误:.htaccess中不能使用<Directory>指令

<Directory>是Apache主配置文件(比如httpd.conf、apache2.conf)专属的指令,用来指定服务器物理目录路径并配置规则。而.htaccess本身就是目录级配置文件,默认作用于它所在的目录及所有子目录,不需要再用<Directory>指定路径。把这个指令放到.htaccess里会直接触发500内部服务器错误。

其他潜在错误点

  1. 无效的<Index>指令:你写的<Index "">是错误写法,如果想禁用目录索引(防止访问目录时显示文件列表),应该用Options -Indexes。
  2. 错误的Order参数:Apache的Order指令没有Reject这个参数,正确写法是Order Deny,Allow或者Order Allow,Deny,原代码里的Order Reject, Allow也会导致配置无效甚至报错。

修正后的.htaccess配置

如果你的需求是禁止当前目录及子目录下的PHP文件被访问,同时禁用目录索引,正确配置如下:

# 禁用目录索引(可选,按需开启)
Options -Indexes

<Files "*.php">
    Order Deny,Allow
    Deny from All
</Files>

补充:如果非要用<Directory>指令

若你需要针对特定物理目录配置规则,要把<Directory>块写到Apache主配置文件中(比如XAMPP的httpd.conf),配置示例:

<Directory "C:\xampp\htdocs">
    Options -Indexes
    <Files "*.php">
        Order Deny,Allow
        Deny from All
    </Files>
</Directory>

修改主配置文件后,必须重启Apache服务才能生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 14:22:08