Pour mon dépôt git (ou svn, cela va dépendre si git est gentil avec moi cette fois-ci…) que je veux mettre en place — un jour! — sur mon serveur (code.remiprevost.com) je voulais que tous les fichiers placés sur le serveur soit quand même accessibles via HTTP, mais sans qu’aucun code s’exécute. J’en suis arrivé avec ces petites directives dans mon fichier .htaccess :
DefaultType text/plain
AddType text/plain .css
AddType text/plain .js
<Files *.php>
RemoveHandler .php
ForceType text/plain
</Files>
Cela a pour effet d’empêcher les fichiers PHP de s’exécuter et donc de voir leur code source. Je ne voulais pas utiliser « *.* » comme filtre à Files, mais je tenais à ce que les images conservent leur type MIME.
On peut aussi demander à Apache d’afficher la source (et en couleur en plus) des fichiers PHP avec ça : AddType application/x-httpd-php-source .php
Nicolas Le Gall (25 juin 2008 à 17:05 EST)
T’es relou Nicolas ! Bon ben j’allais dire « c’est dommage d’utiliser text/plain pour des fichiers php, avec de la couleur ce serait bien plus sympa » :)
Palleas (26 juin 2008 à 7:48 EST)
Ouais, je savais pour
application/x-httpd-php-sourcemais j’ai choisi de tout servir entext/plainquestion de ne pas privilégier un langage plus qu’un autre ;-)Rémi Prévost (26 juin 2008 à 9:20 EST)
Et pourquoi pas appeler une page (PHP ou autre) qui affiche le fichier sous forme textuelle ce qui permet d’ajouter ensuite (via Chili ou autre) la coloration syntaxique ?
En gros, une redirection sur
show_source.php?file=$1++
Olivier (28 juin 2008 à 8:48 EST)
Je préfère aussi cette solution, et limite comme ça tu peux avoir une interface plus sympa que le Indexes d’Apache =)
Palleas (28 juin 2008 à 12:48 EST)