views:

55

answers:

1

As discussed a bit in this question, I am using Apache mod_include with conditional flow control statements to alter the behavior of included shtml files depending on the URL of the parent page. The problem I'm having is that some of the pages on the site are PHP pages, which seems to mean that the mod_include directives are ignored (and instead treated as standard html comments).

Is there any way to have PHP pages correctly process these mod_include directives?

Specifically, here is what I am trying to have processed:

<!--#if expr='"$DOCUMENT_NAME" = /(podcasts\.php)|(series\.php)/' -->
<li id="features" class="current">
<!--#else -->
<li id="features">
<!--#endif -->

Similar lines blocks work in the .shtml files on the site, but for the php pages, all of the above ends up output to the client.

Edit: The closest thing to a solution I have come up with is to mimic the functionality of the included shtml file in a php file. I don't like this solution because it means that adding links in the future will require adding them to multiple places.

+1  A: 

Assuming you're running PHP via mod_php (may not even matter) just adding:

AddOutputFilter INCLUDES .shtml .php

and it works fine for both .shtml and .php with both being properly parsed.

Rob Olmos
Yes! Adding this to my .htaccess file resulted in all pages behaving as desired. Excellent!
JGB146