有什么原因(安全性、性能等)导致我不应该在 Apache 生产/实时环境中使用 .htaccess?
答案1
.htaccess
Apache 的官方建议是,除非绝对必要,否则避免使用。
如果AllowOverride
设置为除 之外的任何值None
,则系统接收到的每个针对AllowOverride
启用了 的上下文的请求都将导致 Apache 进程在文件系统树的每个部分中检查.htaccess
可能包含.htaccess
适用于当前请求的文件。
看这里:
一般来说,除非您无权访问主服务器配置文件,否则永远不要使用 .htaccess 文件。例如,有一种普遍的误解,认为用户身份验证应始终在 .htaccess 文件中完成。事实并非如此。您可以将用户身份验证配置放在主服务器配置中,事实上,这是首选的做法。
如果内容提供商需要逐个目录更改服务器配置,但又没有服务器系统的 root 访问权限,则应使用 .htaccess 文件。如果服务器管理员不愿意频繁更改配置,则可能需要允许各个用户自己在 .htaccess 文件中进行这些更改。例如,如果 ISP 在一台机器上托管多个用户站点,并希望其用户能够更改其配置,则尤其如此。
但是,一般来说,应尽可能避免使用 .htaccess 文件。任何您想放入 .htaccess 文件的配置都可以在主服务器配置文件的某个部分中有效地完成。
答案2
这取决于您的要求。
.htaccess 机制存在的技术原因是,除了站点管理员之外的其他人可以更改他们控制的本地配置,而无需访问全局 apache 服务器配置。
这与安全性没有太大关系,但使用许多 .htaccess 文件会影响性能。