PDA

Voir la version complète : interpréter les .HTML comme du PHP


L.Boggio
18/05/2004, 09h48
je désirerai, sur mutualisé, que les fichiers ayant l'extension .HTML soient traités par l'interpréteur PHP (permettant à mes futurs utilisateurs ne sachant faire que du HTML de pouvoir simplement intégrer cette ligne


<?PHP
include (script de sécurité);
?>


sans avoir besoin de renommer leurs fichiers en .php, ainsi que tous leurs liens.)

Pour ce faire, je viens de trouver ça :
.htaccess

AddHandler application/x-httpd-php .htm .html


et mon fichier
test.html :

Ceci est du HTML<BR />
<?PHP
echo "Ceci est du PHP";
?>
Ceci est toujours du HTML


malheureusement, c'est pas mieux (seul les deux lignes HTML apparaissent), mais je pense que le nom du handler n'est pas le bon... qqun saurait lequel je dois mettre ?

merci par avance.

XavierB
20/05/2004, 10h17
J'ai trouve ca en cherchant autre chose sur internet :

<FilesMatch "^messages$">
ForceType application/x-httpd-php
</FilesMatch>


Si ca peut t'aider...

la source : http://developpeur.journaldunet.com/tutoriel/php/020407php_urlrewriting.shtml

bbdz
24/05/2004, 16h30
Intéressant !
Est-ce que vous pouvez fournir un exemple d'utilisation ?

Merci d'avance.

bbdz
24/05/2004, 17h54
OVH peut-il nous dire si l'url rewriting est activé ?
D'après ce que j'ai lu il faut une option "mod_rewrite" que je ne vois pas dans phpinfo().

InGuN
25/05/2004, 20h32
l'url rewriting EST activé

L.Boggio
25/05/2004, 22h30
XavierB écrivait :
J'ai trouve ca en cherchant autre chose sur internet :

<FilesMatch "^messages$">
ForceType application/x-httpd-php
</FilesMatch>


Si ca peut t'aider...

la source : http://developpeur.journaldunet.com/tutoriel/php/020407php_urlrewriting.shtml
Désolé, je n'avais pas vu ta réponse, je l'ai trouvé aujourd'hui grace au message de InGuN.
J'ai aussi essayé cette méthode, et elle ne fonctionnait pas mieux, mais je ne sais plus quel était le résultat :-(
Au final, j'ai créé un .htaccess qui remplace l'appel de page.html par un appel du type 'lecteur.php?lien=page.html', et ce 'lecteur.php' parse la page HTML pour rajouter le code là où je le désire. C'est lourd, et sensible, mais ça fonctionne.
Pour répondre à bbdz, le but de cette manipulation est le suivant : je suis webmaster pour un groupe de gens qui font des pages en HTML, mais qui ne sont vraiment pas doués. Ils veulent que certaines pages soient réservés à certaines personnes, selon un degré (les page protégées au niveau X ne peuvent être lues que par quelqu'un qui s'est identifié avec un profil de niveau X ou plus).
Donc, j'ai créé une sorte de zone membre (login/pwd), et pour simplifier la tache de mes pauvres créateurs de HTML qui galèrent déja à me faire du code qui ferait fondre le validateur du W3C, même en HTML3.0, ils n'ont plus qu'à rajouter dans leur page HTML le code suivant :<£1£> pour donner la protection 1 à une page, <£2£> pour protéger au niveau 2 une page, etc... Quand je parse la page, j'insére à le place de cette balise le résultat de mon code PHP (via un include réutilisant le chiffre entre <£ £>) pour obtenir le résultat désiré.
J'ai pas mal galéré, mais maintenant, ça doit marcher, j'attends que la webmastrice veuille bien l'implémenter ;-)

bbdz
25/05/2004, 22h53
Merci pour ces précieuses informations. Mais quand je te demandais un exemple d'utilisation, ce n'était pas ce que tu en faisais mais le code !

Je sais bien ce que je veux en faire, ton exemple est intéressant. Mais je voudrais savoir que est le code qui marche dans l'htaccess. Et en quoi est-ce "sensible" comme tu le dis ?

Cdlt.

babar
21/06/2004, 19h00
[Edit] double post

babar
21/06/2004, 19h03
Etant seulement un futur client de ovh, pouvez vous tester cela pour moi ?? Merci d'avance.


Intéressons nous maintenant à la réécriture d'url. Je fais le choix de n'avoir que des url comparables à des pages HTML statique, donc les fichiers ayant une extension PHP seront appelés avec une extension HTML, par exemple pour avoir la page index.php je taperais index.html dans l'url.

Pour les url avec des paramètres c'est un peu plus compliqué, voila le modèle que nous allons employé :

» mapage.php?var1=valeur1&var2=valeur2&...&varN=valeurN

deviendra :

» mapage-var1-valeur1-var2-valeur2-....-varN-valeurN.html

Le code à insérer dans le .htaccess utiles les expressions régulières, il faut commencé par activer le mode rewriting :

RewriteEngine on
RewriteRule (.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.html $1$2&$3=$4$5\.html [N]
RewriteRule (.*)-([^-]+)-([^-]*)(.*)\.html $1.php?$2=$3$4 [L]
RewriteRule ^(.*).html $1.php [L]


Source : http://www.webmaster-experience.net/article-article-2.html

Phobos
21/06/2004, 22h14
Bonsoir, cela marche parfaitement mais il faut mettre un / devant la deuxième expression à chaque fois.