rat-du-net Posté 22 Janvier 2007 Partager Posté 22 Janvier 2007 Bonjour, j'aimerais rewriter des url de ce type : http://www.exemple.com/fichier1.html vers http://www.exemple.com/www/fichier1.html Voila ce que j'ai fait : #si je suis sur le portailRewriteCond %{HTTP_HOST} ^www\.exemple\.com$ [NC]RewriteRule ^(.*)$ /www/$1 [QSA,L,R=301] Seulement, je me retrouve abev une url du type : http://www.exemple.com/www/www/www/www/www...w/fichier1.html je comprend pas Lien vers le commentaire Partager sur d’autres sites More sharing options...
theonlydrayk Posté 22 Janvier 2007 Partager Posté 22 Janvier 2007 Essaie plutot quelque chose comme ca : Options +FollowSymlinksRewriteEngine onRewriteRule ^(.*) http://www.tonsiteweb.com/tondossier/$1 [QSA,L,R=301] Lien vers le commentaire Partager sur d’autres sites More sharing options...
rat-du-net Posté 22 Janvier 2007 Auteur Partager Posté 22 Janvier 2007 ca me fait exactement la meme chose Lien vers le commentaire Partager sur d’autres sites More sharing options...
theonlydrayk Posté 22 Janvier 2007 Partager Posté 22 Janvier 2007 Donne ton .htaccess complet et tes sous dossier si la page est http://www.exemple.com/test/aaa.html Donne les 2 .htaccess complet http://www.exemple.com/test/.htaccess http://www.exemple.com/.htaccess Lien vers le commentaire Partager sur d’autres sites More sharing options...
rat-du-net Posté 23 Janvier 2007 Auteur Partager Posté 23 Janvier 2007 (modifié) alors en fait, j'ai : / /index.html /www/ /www/index.html j'aimerais que dans le cas ou je suis sur le sous domaine www que ce soit /www/index.html qui soit affiché, par contre, quand c'est un autre sous domaine, que ce soit /index.html qui soit affiché. C'est pour ca que j'ai mis : RewriteCond %{HTTP_HOST} ^www\.exemple\.com$ [NC] Donc je n'ai qu'un seul .htaccess Options +FollowSymlinksRewriteEngine OnRewriteBase /#si je suis sur le portailRewriteCond %{HTTP_HOST} ^www\.exemple\.com$ [NC]RewriteRule ^(.*) http://www.exemple.com/www/$1 [QSA,L,R=301] Modifié 23 Janvier 2007 par rat-du-net Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 23 Janvier 2007 Partager Posté 23 Janvier 2007 C'est logique... parce que tu rediriges tout, y compris les pages www/* qui deviennent www/www/* , puis www/www/www/* etc... avant ta règle: RewriteRule ^(.*)$ http://www.tondomaine.tld/www/$1 [QSA,L,R=301] il faut mettre celle-ci: RewriteRule www/(.*) - [L] pour éviter de réécrire ces URLs Lien vers le commentaire Partager sur d’autres sites More sharing options...
rat-du-net Posté 24 Janvier 2007 Auteur Partager Posté 24 Janvier 2007 Voila mon htaccess Donc, j'ai le portail qui se trouve dans un repertoire www, et un forum qui se trouve a la racine. J'aimerais donc que l'orsque l'on tape www comme sous domaine, on affiche se qu'il y a dans le repertoire www et que quand le sous domaine est n'importe quoi d'autre, on affiche ce qu'il y a a la racine. Actuellement, je suis redirigé vers www quelque soit le sous domaine et en plus, j'ai une redirection, pas une reecriture d'url, c'est a dire que mon url dans la barre d'adresse change. Je ne vois pas du tout comment faire Options +FollowSymlinksRewriteEngine OnRewriteBase /RewriteRule ^.+/([^/]+\.html)$ /index.php [R=301,L] RewriteRule ^.+-vc([0-9]+)\.html$ /index.php?c=$1 [QSA,L] RewriteRule ^.+-vf([0-9]+)-([0-9]+)\.html$ /viewforum.php?f=$1&start=$2 [QSA,L] RewriteRule ^.+-vf([0-9]+)\.html$ /viewforum.php?f=$1 [QSA,L] RewriteRule ^.+-vt([0-9]+)-([0-9]+)\.html$ /viewtopic.php?t=$1&start=$2 [QSA,L] RewriteRule ^.+-vt([0-9]+)\.html$ /viewtopic.php?t=$1 [QSA,L] RewriteRule ^post([0-9]+)\.html$ /viewtopic.php?p=$1 [QSA,L] RewriteRule ^membre([0-9]+)\.html$ /profile.php?mode=viewprofile&u=$1 [QSA,L] #si je suis sur le portailRewriteCond %{HTTP_HOST} ^www\.exemple\.com$ [NC]RewriteRule www/(.*) - [L]RewriteRule ^(.*) http://www.exemple.com/www/$1 [QSA,L,R=301] Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 24 Janvier 2007 Partager Posté 24 Janvier 2007 Là ce n'est plus du tout ce que tu décrivais dans ton post initial. Pour traiter les sous-domaines, il te faudra d'abord éditer la zone bind, et ensuite créer un VirtualHost sous Apache. Tu es sur serveur dédié ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
rat-du-net Posté 24 Janvier 2007 Auteur Partager Posté 24 Janvier 2007 oui j'ai utilisé les wildcards et actuellement, quelque soit le sous domaine tapé, j'arrive a la racine du site Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 24 Janvier 2007 Partager Posté 24 Janvier 2007 En plus du wildcard DNS il te faut aussi gérer ces sous-domaines sous Apache. Là tu as deux options: Soit tu définis un <VirtualHost> par sous-domaine, soit il faut installer un module Apache: vhost_alias. Une fois que tu auras installé ce module, tu pourras utiliser des <VirtualDocumentRoot> pour tes sous-domaines. Lien vers le commentaire Partager sur d’autres sites More sharing options...
rat-du-net Posté 24 Janvier 2007 Auteur Partager Posté 24 Janvier 2007 merci !! j'ai cree un nouveau virtual host car je ne sais pas vraiment comment fonctionne l'autre technique. plus besoin d'htaccess un grand merci a vous Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant