ChatSys Posté 9 Décembre 2008 Posté 9 Décembre 2008 (modifié) Bonjour, voici la solution pour rediriger http://test.mondomaine.ext vers http://www.mondomaine.ext/test/ : J'ai suivi ce post : http://forum.ovh.com/showthread.php?t=4562 mais le rewrite ne fonctionne pas, je remets ici ce qui fonctionne : 1ere étape : la redirection 1. dans /var/named/mondomaine.fr.hosts j'ajoute * IN XXX.XXX.XXX.XXX (l'adresse ip du serveur) 2. dans usr/local/apache/conf/httpd.conf je remplace : <VirtualHost 213.251.133.128>ServerAdmin webmaster_AT_mondomaine.frDocumentRoot /home/mondomaine/wwwUser mondomaineGroup usersServerName www.mondomaine.frServerAlias mondomaine.frCustomLog logs/mondomaine-access_log combinedScriptAlias /cgi-bin/ /home/mondomaine/cgi-bin/</VirtualHost> par : <VirtualHost 213.251.133.128>ServerAdmin webmaster_AT_mondomaine.frDocumentRoot /home/mondomaine/wwwUser mondomaineGroup usersServerName www.mondomaine.frServerAlias mondomaine.frServerAlias *.mondomaine.frCustomLog logs/mondomaine-access_log combinedScriptAlias /cgi-bin/ /home/mondomaine/cgi-bin/</VirtualHost> 3. je redémarre les services depuis webmin et je crée un répertoire /test dans /home/mondomaine/www 4. je place un .htaccess dans /home/mondomaine/www RewriteEngine onRewriteCond %{HTTP_HOST} !^www.mondomaine.fr$ [NC]RewriteCond %{HTTP_HOST} ^(.+)\.mondomaine\.fr$ [NC]RewriteRule ^/?(.*) [url="http://www.mondomaine.fr/%1/$1"]http://www.mondomaine.fr/%1/$1[/url] [QSA,R=301,L] Ainsi le visiteur qui ira sur test.mondomaine.fr sera renvoyé sur www.mondomaine.fr/test/ 2eme étape : rendre la redirection invisible : conserver "test.domaine.fr" affiché dans le navigateur 1. il faut installer mod_proxy qui n'est pas par défaut dans apache de la release 2 d'ovh : Tu vas dans le dossier du fichier ebuild cd /usr/local/portage-ovh/net-www/apache-ovh Tu édites ce fichier ebuild (changer éventuellement le numéro de version, plus bas aussi) vi apache-ovh-2.0.59.ebuild Tu ajoutes les lignes enable-proxy et enable-proxy-http ../..--enable-rewrite \--enable-proxy \--enable-proxy-http \../.. Comme le fichier ebuild a été modifié, il faut mettre à jour le "manifest" ebuild apache-ovh-2.0.59.ebuild digest Compilation d' apache avec les nouvelles options emerge apache-ovh ça compile... tu prends un café et tu penses que ce soir, pour une fois, tu pourrais acheter des fleurs à ta femme (vous me remercierez après) puis tu relances apache /etc/init.d/apache restart 2. Modifier le .htaccess : RewriteEngine onRewriteCond %{HTTP_HOST} !^www.mondomaine.fr$ [NC]RewriteCond %{HTTP_HOST} ^(.+)\.mondomaine\.fr$ [NC]RewriteRule ^/?(.*) [url="http://www.mondomaine.fr/%1/$1"]http://www.mondomaine.fr/%1/$1[/url] [P,QSA,R=301,L] Et voilà ! Merci à Dan pour son aide Modifié 10 Décembre 2008 par ChatSys
Dan Posté 9 Décembre 2008 Posté 9 Décembre 2008 Je ferais une remarque : Il est inutile d'ajouter ceci dans le fichier named.conf : zone "*.mondomaine.fr" {type master;file "/var/named/mondomaine.fr.hosts";}; vu que la zone mondomaine.fr est déjà définie... Et je remplacerais la règle par : RewriteRule ^/?(.*) http://www.mondomaine.fr/%1/$1 [QSA,R=301,L] pour éviter d'avoir un double // au cas où le / ferait partie de la chaîne transmise à mod_rewrite. Je ne comprends pas ta dernière phrase : Mon dernier problème est de faire cette redirection de manière invisible sans créer un boucle de redirection... Que veux-tu dire par "invisible" ? COmme la redirection est externe, tu auras toujours la nouvelle adresse dans l'URL. Ou alors il faut utiliser mod_proxy
ChatSys Posté 9 Décembre 2008 Auteur Posté 9 Décembre 2008 (modifié) Merci Dan ! J'ai fait la correction et je me renseigne sur mod_proxy. Le but étant que sur le navigateur, le visiteur reste sur test.domaine.fr/blabla ce que j'avais traduit par "redirection invisible sans créer un boucle de redirection" car évidement si j'écris : RewriteRule ^/?(.*) /%1/$1 [QSA,R=301,L] ouRewriteRule ^/?(.*) http://%{HTTP_HOST}/%1/$1 [QSA,R=301,L] Je boucle en boucle en boucle en boucle en boucle en boucle en boucle en boucle en boucle .... Modifié 9 Décembre 2008 par ChatSys
ChatSys Posté 9 Décembre 2008 Auteur Posté 9 Décembre 2008 (modifié) C'est bête mais je ne trouve pas où télécharger mod_proxy.so, je ne trouve que des .c... (et en plus c'est mod_proxy_html donc c'est pas bon) Mon répertoire apache/modules est presque vide : mod_suphp.so et httpd.exp font une bataille en attendant leur compagnon ! (lien vers la doc, je complèterai mon premier post quand j'aurai trouvé le St Graal) : http://httpd.apache.org/docs/2.0/mod/mod_proxy.html Modifié 9 Décembre 2008 par ChatSys
ChatSys Posté 9 Décembre 2008 Auteur Posté 9 Décembre 2008 Je sèche.. Impossible de faire prendre en compte le mod_proxy à apache, j'ai recompilé je ne sais combien de fois sans succès et un plantage m'a mis le serveur en rade pendant 1 heure. Je vais donc passer à autre chose en attendant une nouvelle piste... J'aurais bien voulu terminer ce tuto :/
Dan Posté 9 Décembre 2008 Posté 9 Décembre 2008 Tu es en release 2 ... voici donc les instructions pour recompiler Apache avec mod_proxy Tu vas dans le dossier du fichier ebuild cd /usr/local/portage-ovh/net-www/apache-ovh Tu édites ce fichier ebuild (changer éventuellement le numéro de version, plus bas aussi) vi apache-ovh-2.0.59.ebuild Tu ajoutes les lignes enable-proxy et enable-proxy-http ../..--enable-rewrite \--enable-proxy \--enable-proxy-http \../.. Comme le fichier ebuild a été modifié, il faut mettre à jour le "manifest" ebuild apache-ovh-2.0.59.ebuild digest Compilation d' apache avec les nouvelles options emerge apache-ovh ça compile... et au final tu relances apache /etc/init.d/apache restart Cela devrait fonctionner comme tu veux et tu pourras utiliser le flag [P] dans tes réécritures d'URLs. Bonne chance à toi :!:
ChatSys Posté 10 Décembre 2008 Auteur Posté 10 Décembre 2008 AHHHHHHHHHHHHH C'est ce que j'ai fait mais comme je ne voyais rien dans phpinfo je me disais que ce n'avait pas fonctionné ! Du coup suite à ton message, j'ai essayé le [P] et ça fonctionne : eureka ! Merci Dan ! Je complète le tuto de ce pas.
Invité Posté 11 Décembre 2008 Posté 11 Décembre 2008 C'est parfait comme solution !!! je suis intéressé ps : je considère que le 1er post est celui de référence (oui/non ?)
Arlette Posté 11 Décembre 2008 Posté 11 Décembre 2008 Ce sont les réponses de Dan qui sont bonnes A prendre en compte suivant ton problème ! Si tu sèches encore, ouvre un autre post et tu publies ton problème.
ChatSys Posté 19 Décembre 2008 Auteur Posté 19 Décembre 2008 Comme indiqué, j'ai modifié le premier post avec les réponses de Dan.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant