1

Apache2 的 mod autoindex允许包含头文件和自述文件,我在目录中以这种方式配置.htaccess

ReadMeName footer.html
HeaderName header.php

由于某些模糊的原因,如果头文件是.php. 我将它重命名为 header.html 并在 htaccess 中:

HeaderName header.html

它运行良好(即使.html其中包含<?php ?>标记)

为什么 apache 做帽子,有没有办法解决它?

4

1 回答 1

0

根据mod_autoindex / HeaderName 指令的手册:

文件名必须解析为主要内容类型为 text/* 的文档(例如 text/html、text/plain 等)。这意味着如果脚本的实际文件类型(与其输出相反)标记为 text/html,则文件名可能引用 CGI 脚本...

...虽然.php文件的内容类型定义为application/x-httpd-php,即使脚本的输出默认为text/html。然而,还有希望。实际上,您可以通过在指令.htaccess之前添加以下组合来解析 PHP:HeaderName

AddHandler application/x-httpd-php .php
AddType text/html .php

两者都不会单独完成这项工作。我假设这里的 Apache(在 2.4 上测试)首先设置一个处理程序并解析.php文件,然后同意理解输出类型text/html确实是majorly。我称之为古怪,但它的工作!

于 2016-12-11T18:06:04.323 回答