如何在Apache服务器(和其他服务器)上的PHP中检测对.htaccess的支持

出于安全原因,我需要检查客户端是否无法读取目录,即Apache服务器支持.htaccess(apache配置文件中没有AllowOverride None).这一点非常重要,因为我最近发现很多产品和框架都没有对此进行检查(包括Zend和Symphony).有没有一种方法可以仅使用PHP进行检查?

顺便说一句,如果我错了,请纠正我,但似乎其他服务器(nginx或lighttpd)不支持.htaccess.在这些情况下,如何检查客户端无法读取我的目录?

解决方法:

您可以在htaccess中使用SetEnvIf来设置变量,然后从PHP中访问它.这将告诉您是否正在使用htaccess(并且SetEnvIf模块正在运行).但是,它不会告诉您更多信息-例如,它不会告诉您mod_rewrite是否可用.要知道正在运行的模块,可以以编程方式检查phpinfo的输出.

上一篇:使用htaccess和php创建伪造的子目录,并按原样保留现有目录


下一篇:php-由于WordPress而无法访问我的文件夹