为什么Apache执行.php.html文件为PHP?

dav*_*avr 4 html php apache

我有一个奇怪的问题......我正在使用文档生成器,它会生成很多输出,如docs/foo.php.html.它是XHTML,因此<?xml...>在文件开头包含标签.问题是,Apache已经以某种方式决定通过PHP解释器运行它,即使".php"出现在文件名的中间,而不是最后.这又会触发PHP错误,因为它将" <?"视为开始执行PHP代码的命令,并立即被xml...其后面的" " 混淆.

如何配置Apache只执行.php文件,而不是.php.html文件?字符串"php.html"在我的Apache配置文件中的任何位置都没有显式出现.有一行" AddHandler php5-script .php",但我不知道它还包括".php.html"文件.

ale*_*rul 11

问题似乎是在mod_mime中.

引用Apache mod_mime文档页面:

如果您希望仅将文件名的最后一个点分隔部分映射到特定的元数据,则不要使用Add*指令.例如,如果您希望将文件foo.html.cgi作为CGI脚本处理,而不是文件bar.cgi.html处理,那么请使用AddHandler cgi-script .cgi,而不是使用

<FilesMatch \.cgi$>

SetHandler cgi-script

</FilesMatch>

此外,你可以google for apache mod_mime "multiple extensions"