Passage d'un site HTML en php par étapes. Comment coder les redirections ?

WRInaute accro
Bonjour,

J'ai un gros soucis. Je vous explique un peu le truc.

Le site est en HTML, il est organisé en catégories.
La page principale de la catégorie contient l'article principal et sert également de page d'index en proposant des liens vers tous les articles associés à cette catégorie.

Tout ceci a été retranscrit en PHP mais il faut maintenant renseigner les bases de données et je comptais donc le faire par étape, en basculant les catégories une par une.

Voici la structure de mes urls :
Pour les pages principales de catégories :
categorieA.html
categorieB.html
categorieC.html
categorieD.html

Pour les pages d'articles spécifiques, une seule structure :
monarticle-pnn.html où nn représente le numéro de l'article

J'ai une page affichage.php qui me permet d'afficher n'importe quelle page, qu'elle soit catégorie ou article.

Pour basculer par étape je comptais rediriger la première catégorie vers une duplication de la page affichage.php, comme ceci :
Code:
RewriteCond %{REQUEST_URI} ^/categorieA.html$  
RewriteRule ^(.*)\.html$ 					/$1.php [L]

Mais mon souhait est de ne pas retarder la publication d'articles. Si la catégorie A a été basculée on devrait pouvoir ajouter des articles dans cette catégorie A.
La page categorieA.php permet de récupérer la liste de tous les articles associés à la catégorieA et d'en afficher les liens.
Le problème c'est que les pages d'articles ne sont pas basculées. Pour les articles existant ça va fonctionner car les liens pointent vers une page html existante, mais si un nouvel article apparait le lien conduira vers une erreur 404.

Je cherche donc une solution pour basculer les pages article de la catégorieA sans avoir à coder les redirections une par une. Et surtout ne pas avoir à modifier le htaccess à chaque ajout d'article. En fait, ce que je souhaite basculer c'est plus précisément toutes les nouvelles pages associées (ou non d'ailleurs) à la catégorieA. Mais si on n'est pas con, on ne va pas ajouter de nouvelles pages dans des catégories non encore basculées en dynamique.

Cette redirection me permettra à terme de rediriger toutes les pages articles :
Code:
RewriteRule ^(.*)-p([0-9]+)\.html$			/affichage.php [L]
Mais dans un premier temps elles restent affichées en html.

Il me faudrait l'équivalent pour rediriger toutes les pages article à partir d'un certain numéro. Si par exemple j'ai actuellement 50 pages articles avec la dernière qui est article-p50.html, il faudrait rediriger toutes les pages à partir de xxxxxxx-p51.html

Je peux le faire en excluant une par une toutes les pages < 51.

Je pourrais le faire aussi en codant une par une les redirections en commençant par la n°51 et en m'arrêtant à 100 pour commencer.

Mais existe-t-il une possibilité de le faire en une ligne dans le htaccess ? Même si c'est en prenant un intervalle, par exemple (.*)-pnn.html avec nn compris entre 51 et 5000. L'idéal serait une condition avec nn > 50.

Ou alors, autre possibilité, dans ma page affichage.php, si nn < 51 je fais alors une seconde redirection vers la page en .HTML sauf pour les pages d'une catégorie déjà basculée.

Une précision importante : les numéros ne se suivent pas forcément pour les articles d'une même catégorie. Pour la catégorieA je peux par exemple avoir les articles xxxxxx-p4.html et xxxxx-p15.html
 
WRInaute accro
indigene a dit:
J'ai une page affichage.php qui me permet d'afficher n'importe quelle page, qu'elle soit catégorie ou article.
Fait un test (if ou autre) dans ce script pour savoir si la page a été transcrite ou pas si c'est le cas tu poursuis ton traitement normal, si la page n'a pas été transcrite tu "include" ton ancienne page html ...
 
Discussions similaires
Haut