Url rewriting

Eléphant du PHP | 256 Messages

21 oct. 2010, 19:28

Bonjour,

Mon problème est aux confins de Php et peut-être pourrez-vous m'aider.

Jusqu'à présent, je faisais de l'Url Rewriting comme suit :

Code : Tout sélectionner

Options +FollowSymlinks RewriteEngine on RewriteRule ^pages/([^/]*)\.php$ target.php?page=$1 [L]
L'idée était de rediriger la page demandée vers target.php qui affichait le contenu de la page en récupérant la variable $_GET['...'].

Jusque là, c'est d'une simplicité enfantine. :mrgreen:

Comme j'aime à me compliquer la vie (!), j'ai décidé dorénavant d'utiliser un Virtual Host pour rediriger chacun de mes sites ayant la même structure vers le même répertoire.

Mes domaines concernés pointent vers le même répertoire, et, paresseux, j'utilise Php pour identifier la provenance du visiteur :
$adress = explode('.', $_SERVER['SERVER_NAME']);
$host = ''.$adress[0].'_'.$adress[1].'_'.$adress[2].'';
Or, mon Url Rewriting ne fonctionne plus.

Auriez-vous une idée ?

Je vous en remercie, et vous serai reconnaissant de votre assistance jusqu'à la septième génération. :)

Cordialement,

Gaspard

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

24 oct. 2010, 01:48

Tes règles de réécriture son dans un htaccess ou dans le httpd.conf ?

Dans ta règle tu spécifies que tu modifies les url qui commencent par "pages/" (" ^pages/... "). (donc directement à la racine du domaine, sans sous-dossier). Est- ce que cela est adapté à tes virtual hosts ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 256 Messages

24 oct. 2010, 23:11

Bonsoir,

Merci Ryle, pour ta réponse.

Je vais suivre ton début de piste qui me "parle" intellectuellement, mais il faut que je trouve sa mise en pratique.

Sinon, je me conterai de passer des variables dans l'Url par $_GET. C'est assurément la "méthode à Mimile", mais Spip utilise ce genre d'adresse, et les miennes ne seront pas très longues. :mrgreen:

Je te tiens au courant si je progresse.

Cordialement,

Gaspard