Hi!
Ich bin heute sehr nachtragend. Hier noch einer:
"Funzt nicht" - probiers aus, exakt diese Zeile aus der Dokumentation funktioniert nicht. example.com/index.phps sollte den Quelltext von index.php ausliefert - tuts aber nicht.
Bei meinem Test "funzte" es so wie ich es erwartete.
Dazu muss ich sagen, dass ich auf die Schnelle ein HTML-Dokument mit dem T=text/plain umschreiben ließ, was zur textuellen Anzeige des HTML-Codes im Browser (!=IE) führte. Insofern arbeitet das Feature schon richtig. Dann setzte ich mir einen Xampp auf, und probierte das
RewriteRule ^(.+\.php)s$ $1 [T=application/x-httpd-php-source]
und siehe da, die PHP-Datei wurde ausgeführt und nicht als Quelltext ausgeliefert. Das RewriteLog schrieb jedoch brav (etwas gekürzt):
(2) [perdir C:/xampp/htdocs/] rewrite 'index.phps' -> 'index.php'
(2) [perdir C:/xampp/htdocs/] remember C:/xampp/htdocs/index.php to have MIME-type 'application/x-httpd-php-source'
(2) [perdir C:/xampp/htdocs/] strip document_root prefix: C:/xampp/htdocs/index.php -> /index.php
(1) [perdir C:/xampp/htdocs/] internal redirect with /index.php [INTERNAL REDIRECT]
(1) force filename redirect:/index.php to have MIME-type 'application/x-httpd-php-source'
(1) [perdir C:/xampp/htdocs/] pass through C:/xampp/htdocs/index.php
(1) [perdir C:/xampp/htdocs/] pass through C:/xampp/htdocs/index.php
(1) [perdir C:/xampp/htdocs/] pass through C:/xampp/htdocs/index.php
Nun erinnerte ich mich an die Sache mit den direkten Handlern und prüfte die Konfiguration
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
Aha, die Handler werden direkt aufgrund der passenden FilesMatch-Bedingung verwendet und nicht über den MIME-Type. Aber auch obiges deaktiviert und umgeschrieben auf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
brachte keine Änderung (natürlich mit Neustart des Apachen nach jeder Konfigurationsänderung). Ich vermute, da hat mod_php in dieser Hinsicht einen Bug. Das Sourcecode-Ausgeben an und für sich klappte nämlich auch.
Lo!