Hello les z'amis,

Ma question est la suivante, le site sur lequel je bosse existe depuis pas mal d'années, etant un site associatif fabriqué par plusieurs webmasters, de nombreuses pages index ont été crées, dans leurs 2 versions:

index.html
index.htm

J'ai moi la possibilité de faire un index.php pour une question de script du genre rotator, mais ne veut pas recontacter tout les webmasters des sites qui url vers le mien.
Qu'elle est la meilleure solution :
index.htm et index.html vides, redirigeant vers index.php
ou bien les virer completement au risque de rendre obsolète les liens des sites voisins......

merci d'avance.
Bonsoir,

Pourquoi pas une simple 404 personnalisée qui redirige vers Index.php ??

Ne serais-ce pas... Plus simple ?
Modifié par Groumphy (02 Dec 2005 - 23:11)
Bonsoir,

Je pense qu'avoir recours au module mod_rewrite d'Apache peut être également une solution intéressante. Il permet de réécrire les URL, et ainsi son principal intérêt réside dans l'amélioration de l'affichage et de la sécurité des adresses de sites contenant des variables PHP. Ici, tu souhaites juste rediriger deux pages statiques vers une pages index.php, cela peut donc se faire de la façon suivante.

Dans un fichier nommé ".htaccess" placé à la racine de ton site, tu places simplement les lignes suivantes :

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^index\.html$  index.php  [L]
RewriteRule ^index\.htm$  index.php  [L]

(Edit : La petite omission signalée par djfeat est corrigée)

Les deux URL index.html et index.htm seront donc réécrites à la volée et vont renvoyer vers index.php de façon tout à fait transparente pour l'utilisateur.

Pour les lecteurs que cela intéresse, les deux premières lignes permettent d'activer le mode de réécriture. Je peux également donner un exemple classique de réécriture contenant des variables PHP :


Options +FollowSymlinks
RewriteEngine on
RewriteRule ^article-([0-9]+)\.html$  article.php?id=$1  [L]


Par exemple, la saisie de l'adresse article-123.html renverra vers article.php?id=123 car $1 (numérotation croissante de la gauche vers la droite lorsqu'il y a plusieurs variables) va contenir l'expression de la parenthèse, c'est-à-dire une suite de chiffres compris entre 0 et 9.

Je rappelle enfin que pour que cela fonctionne, le mod_rewrite doit être activé, ce qui n'est pas toujours le cas suivant l'hébergeur. Pour en savoir, voici un cours sur Webmaster-Hub.
Modifié par Romain H. (03 Dec 2005 - 10:06)
Romain H. a écrit :
Dans un fichier nommé ".htaccess" placé à la racine de ton site, tu places simplement les lignes suivantes :

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^index.html$  index.php  [L]
RewriteRule ^index.htm$  index.php  [L]

Le point étant un caractère spécial des expressions régulières, il serait plus prudent de l'échapper :
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^index\.html$  index.php  [L]
RewriteRule ^index\.htm$  index.php  [L]
djfeat a écrit :

Le point étant un caractère spécial des expressions régulières, il serait plus prudent de l'échapper :
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^index\.html$  index.php  [L]
RewriteRule ^index\.htm$  index.php  [L]


Merci djfeat, une petite erreur répercutée par "copier-coller". L'exemple avec les variables est correct ! J'ai corrigé mon post... Smiley cligne
Modifié par Romain H. (03 Dec 2005 - 10:06)
j'ai choisi

Options +FollowSymlinks

RewriteEngine on

RewriteRule ^index\.html$  index.php  [L]

RewriteRule ^index\.htm$  index.php  [L]


mais attend la réponse de mon hebergeur pour l'.htaccess.
le site est hebergé gratuitement par notre fédé, donc pas de possibilité de mettre en place des htaccess sans leur accord Smiley lol

Dès que c'est fait, je vous communique le résultat.....