Vous pouvez utiliser RewriteRule
et profiter des regexes directement. Je pense qu'ils sont suffisants pour discriminer vos pages.
RewriteRule ^(.*?)$ $1.php
Ou si vous avez juste besoin de pages spécifiques à remplacer, vous pouvez le faire comme ceci:
RewriteRule ^mypage$ mypage.php
Notez que vous pouvez même utiliser pour passer des chaînes de requête à PHP pour discrimine directement dans le code source , puis un php si avec include()
s peut faire l'affaire:
RewriteRule ^page([0-9]+)$ page.php?id=$1
Notez que ces remplacements d'URL ne sont pas redirections et ils ne sont pas « vu » par le navigateur, de sorte que tout r Le fichier elatif requis par le html sera extrait du chemin du dossier virtuel.
EDIT: ma suggestion pour vous est de faire htaccess pour pointer vers un fichier php (appelons-le hub.php
):
RewriteRule ^cccc$ hub.php?id=cccc
RewriteRule ^dddd$ hub.php?id=dddd
maintenant php fera l'affaire, en hub.php
:
if ($_GET['id'] == 'cccc') {
include('cccc.php');
}
if ($_GET['id'] == 'dddd') {
include('dddd.php');
}
Je pense qu'il y a faaaaar de meilleures façons de le faire, mais si vous préférez de cette façon ... Et cela va le faire fonctionner sans changer le code dans cccc.php et dddd.php
Il suffit de passer les "grands" travaux à php, ne faites pas de gros fichiers .htaccess (les modifications .htaccess nécessitent qu'Apache soit rechargé, pas les fichiers php).
Et vous écrirez 100 'if's? Peut-être que vous avez juste besoin d'une réécriture '$ 1.php'? –
Alors est-ce _Ron_ ou _Robbie_? – AbraCadaver
Pourquoi n'incluez-vous pas le bon fichier dans 'index.php' basé sur la variable? Ou mieux encore, utilisez une base de données pour le contenu. Vous sauve des tonnes de pages et la peine d'éditer '.htaccess' chaque fois que vous ajoutez une nouvelle page ... – jeroen