I have an odd problem...I'm using a documentation generator which generates a lot of output like docs/foo.php.html. It's XHTML, and thus contains <?xml...>
tags at the beginning of file. The problem is, Apache has somehow decided to run it through the PHP interpreter, even though ".php" appears in the middle of the filename, and not at the end. This, in turn, triggers a PHP error, because it sees "<?
" as the command to start executing PHP code, and immediately gets confused by the "xml...
" which follows it.
How do I configure Apache to ONLY execute .php files and not .php.html files? The string "php.html" does not appear explicitly anywhere in my Apache config files. There is a line "AddHandler php5-script .php
", but I don't see how that would also include ".php.html" files.
The problem seems to be in mod_mime.
Quote from the Apache mod_mime documentation page:
If you would prefer only the last dot-separated part of the filename to be mapped to a particular piece of meta-data, then do not use the Add* directives. For example, if you wish to have the file foo.html.cgi processed as a CGI script, but not the file bar.cgi.html, then instead of using AddHandler cgi-script .cgi, use
<FilesMatch \.cgi$>
SetHandler cgi-script
</FilesMatch>
Also, you can google for apache mod_mime "multiple extensions"
You could disable PHP's shorttags -- this is the recommended way to mix PHP and XML.
http://us.php.net/ini.core
short_open_tag = 0
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With