Migrer des URL réécrites avec répertoires virtuels vers un sous domaine

WRInaute accro
Bonsoir,

J'ai un site qui contient une section avec des URL de type:
example.com/legumes
example.com/legumes/concombres
example.com/legumes/carottes

Ces URL sont réécrites et pointent vers :
example.com/legumes => example.com/legume.php
example.com/legumes/concombres =>example.com/legumes.php?legume=concombres
example.com/legumes/carottes => example.com/legumes.php?legume=carottes

Jusque là tout va bien.
Je voudrais à présent tout rebalancer sur un sous domaine pour avoir :
legumes.example.com qui renvoie le contenu de l'actuelle page example.com/legumes
et que legumes.example.com/concombres renvoie le contenu de l'actuellepage example.com/legumes/concombres

Et je ne sais pas du tout par où commencer. Je dois tout faire par URL rewriting?
J'ai créé le sous domaine, mais après, que faire ?

Merci beaucoup
 
WRInaute passionné
Je suis dans le même cas de restructuration, je ne l'ai pas encore fait, mi juillet je pense.

J'ai d'autres contraintes, mais de toutes manière, je vais employer des redirection 301 dans le fichier .htaccess.
L'URL rewriting va donner une réponse 200 ok et ce n'est pas le but de la manoeuvre (je sais meme pas si ca marche).

C'est la seule façon apparemment de ne pas perdre le fruit des pages référencées et des liens pointant dessus.
 
WRInaute impliqué
Pour commencer, il faut pointer tous les sous domaines vers le répertoire du domaine principale.

Maintenant, je vais supposer que « legume » est toujours écrit pareil. Parce que tu l'écris une fois au singulier et l'autre fois au pluriel.

Ensuite, il faut effectuer les redirections :
Code:
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com$
RewriteRule (.*) ./%1.php?%1=$1 [L]

Bon, je ne promet rien, mais ça m'a l'air correspondre.
 
WRInaute accro
Merci. Pour le sous domaine il est créé.
Mais je le fais pointer sur quel dossier ? Vers mon www/ ?
Legume n'est justement pas toujours écrit pareil au niveau des fichiers php. J'ai legumes.php et legume.php
par contre ma réécriture ne sort que legumes
 
WRInaute impliqué
Oui, tu le pointes vers les www.

Si tu as une écriture différente, tu vas devoir faire :
Code:
RewriteCond %{HTTP_HOST} ^legumes\.example\.com$
RewriteRule ^legumes$ ./legume.php [L]

RewriteCond %{HTTP_HOST} ^legumes\.example\.com$
RewriteRule ^legumes/(.*) ./legumes.php?legume=$1 [L]

C'est un peu plus long ;)
 
WRInaute passionné
Je n'y connais rien en rewriting, je ne l'utilise jamais.

ca donne le contenu de l'url A dans la nouvelle url B? Quel code cela donne dans l'entete http ? 200 ok ou une autre?
 
Discussions similaires
Haut