不喜欢广告? 无广告 今天

Apache httpd 配置格式化器

开发人员联网
广告 移除?

排版选项

广告 移除?

指导

Apache httpd 配置格式化工具

Apache httpd 配置格式化器

粘贴一个混乱的 Apache 配置 httpd.conf, apache2.conf, 或者 sites-available/*.conf 片段,获取一个正确缩进和标准化的配置。格式化器会 <VirtualHost>, <Directory>, <Location>, <IfModule>,以及其他容器标签来计算正确的嵌套深度,保留你的注释和空行,并可将指令大小写标准化,使所有指令保持一致。结构视图能快速概览每个虚拟主机,验证器会在你重新加载 Apache 之前标记不匹配或未闭合的区块标签。 servername, SERVERNAME,并且 ServerName 将你的 Apache 配置粘贴到输入框中——一个完整的

如何使用

  1. ,一个单独的 httpd.conf区块,或任何片段。 <VirtualHost> 选择缩进样式(2 个空格、4 个空格或制表符)和指令大小写模式(保留、PascalCase 标准化或小写)。
  2. 标准化注释
  3. 切换 以确保在 后添加一个空格,如果你希望在每个区块内填充列。 #, 合并多个空行,并且 对齐指令值 复制格式化后的输出,或将其下载为
  4. 。使用结构视图确认你的虚拟主机布局,并使用验证器来发现不匹配或未闭合的区块标签。 httpd.conf– 通过

特征

  • 块感知缩进 ,以及其他容器标签来追踪嵌套结构。 <VirtualHost>, <Directory>, <Location>, <Files>, <FilesMatch>, <IfModule>, <Limit>, <RequireAll>指令大小写标准化
  • – 可选地将指令重写为标准的 PascalCase( )或转换为小写。ServerName, DocumentRoot, RewriteEngine支持换行续行
  • – 将以 结尾的行连接起来,使被换行的指令保持在一条逻辑行上。 \ 注释与空行保留 RewriteRuleSSLCipherSuite – 保持你的
  • 注释原位,可选择标准化哈希符号后的空格,并合并连续的空行。 结构视图 # ... – 每个区块的嵌套大纲,提取关键细节(
  • )以便快速浏览。 – 标记不匹配的打开与关闭标签(例如,以ServerName, DocumentRoot, Listen, ProxyPass关闭),未闭合的区块,多余的关闭标签,以及重复的
  • 验证 值。 <Directory> 片段库 </Location>– 提供 HTTP/HTTPS 虚拟主机、HTTPS 重定向、反向代理、PHP-FPM 处理器、mod_rewrite 强制 HTTPS、mod_deflate 压缩、浏览器缓存、安全头和基本身份验证的即插即用模板。 ServerName 指令参考
  • – 常见指令和容器标签的快速参考。 – 完全在浏览器中运行。配置内容永远不会上传。
  • httpd.conf 和 .htaccess 文件有什么区别? httpd.conf(以及 sites-available/ 下的每个站点文件)是主服务器配置,在 Apache 启动时仅解析一次。.htaccess 文件是目录级别的覆盖配置,当 AllowOverride 允许时,Apache 会在每次请求时重新读取。两者使用相同的指令语法,但 .htaccess 仅能包含允许目录范围的指令,且使用它相比将相同规则放入 块中的主配置,会有明显的性能开销。
  • 隐私 Apache 指令名称是否区分大小写?

常问问题

  1. 不。像 ServerName、servername 和 SERVERNAME 这样的指令名称都是有效的且等效的。Apache 文档使用 PascalCase 作为标准形式,这也是大多数风格指南和配置检查工具所期望的形式。然而,指令参数通常区分大小写(例如 Linux 文件系统路径、正则表达式、环境变量名称等)。

    Apache 如何决定由哪个 VirtualHost 服务一个请求?

  2. Apache 首先根据 标签中的 IP 地址和端口进行匹配(例如 *:443)。在匹配相同地址和端口的虚拟主机中,它接着将请求的 Host 头与 ServerName 和 ServerAlias 进行比对。如果没有任何匹配,则第一个列出的 VirtualHost 会成为默认配置。这就是为什么在真实生产服务器上,ServerName 必须明确且唯一。

    Directory、Location 和 Files 块之间的评估顺序是什么?

  3. Apache 按定义顺序合并这些部分: 和 .htaccess 首先,然后是 和 ,最后是 和 。在每个组内,非正则表达式部分按路径最短到最长的顺序处理,然后是正则表达式变体按源顺序处理。 最后执行,因此一个 块可以覆盖其上方 块中设置的指令。

    为什么区块标签使用 ... 而不是像 Nginx 那样的大括号?

  4. Apache 的配置语法比 Nginx 早了大约十年,并基于 SGML/HTML 构建,其中容器范围使用成对的开闭标签表示。Nginx 选择了类似 C 语言的括号风格以实现紧凑性。两种语法表达相同的概念——一个用于限定子指令集的指令。但 Apache 的标签对使得不匹配的闭合标签更容易被识别,因为关闭标签必须明确命名要关闭的区块。

    将你的 Apache httpd / VirtualHost 配置粘贴到这里...

  5. Apache httpd 配置格式化器 1

    Apache httpd 配置格式化器

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?