mcfly Posté 29 Septembre 2005 Posté 29 Septembre 2005 Bonjour à tous. J'ai mis en place des règles d'URL rewriting sur plusieurs de mes sites qui fonctionnent, mais là je rencontre un problème lorsque le site est hébergé dans un dossier autre que le www/. Si le nom de domaine pointe vers user/www/mon_site/, ça marche. Si le nom de domaine pointe vers user/mon_site/, ça ne marche pas. Mon hébergeur est planet-work.com. Y'a t'il une ligne de commande pour préciser qu'il ne faut pas rewrité sur le répertoire www/ mais mon_site/ ? Merci d'avance pour vos réponses
Dan Posté 29 Septembre 2005 Posté 29 Septembre 2005 Salut mcfly, Le moins qu'on puisse dire c'est que ta question n'est pas très claire. Lorsque tu parles de "pointer vers", tu parles du nom de domaine avec ou sans www ? A quel endroit as-tu mis le fichier .htaccess ? Dan
mcfly Posté 29 Septembre 2005 Auteur Posté 29 Septembre 2005 (modifié) Salut dan, et merci pour ta réponse. Désolé de n'avoir pas été suffisament clair Le nom de domaine pointe avec le www, oui. Je reformule: J'ai un hébergement chez planet-work, sur lequel j'héberge deux sites: - L'un d'eux est contenu dans le répertoire www/ à l'adresse physique: user/www/index-site1.html Mon nom de domaine http://www.site1.com pointe vers le répertoire à l'adresse physique user/www/ qui inclue également le fichier .htaccess, et là pas de soucis avec mes règles de rewrite! - En revanche pour mon second site, l'index est contenu dans un répertoire site2/ à l'adresse physique user/site2/index-site2.tml et n'est plus contenu dans le dossier physique www/ Mon nom de domaine http://www.site2.com pointe vers l'adresse physique user/site2/ qui inclue aussi un fichier .htaccess, mais là bien que le site soit accessible sans redirection, les règles du .htaccess ne fonctionnent pas: erreur 404 D'où ma question, est il obligatoire que le .htaccess soit dans le répertoire www/ pour pouvoir fonctionner? Modifié 29 Septembre 2005 par mcfly
Dan Posté 29 Septembre 2005 Posté 29 Septembre 2005 Salut mcfly, Normalement le fichier .htaccess peut-être mis dans n'importe quel répertoire et pas seulement à la racine ou dans un répertoire www. Par contre, il faut voir comment ton second domaine est configué du côté Apache (c'est du ressort de l'hébergeur, pas du tien). Que donne une ligne php telle que print $_SERVER['DOCUMENT_ROOT']; sur les deux domaines ? Il est possible que le DOCUMENT_ROOT du second domaine ne soit pas bon. Dan
mcfly Posté 29 Septembre 2005 Auteur Posté 29 Septembre 2005 Non, les réponses semblent Ok: /home/web/users/login/www/ et /home/web/users/login/site2/ Peut être le code de mon .htaccess pourtant dans sa version la plus basique? # $Id: .htaccess,v 1.3 2003/06/12 10:53:20 hpdl Exp $<IfModule mod_setenvif.c> <IfDefine SSL> SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 </IfDefine></IfModule># Fix certain PHP values# (commented out by default to prevent errors occuring on certain# servers)#<IfModule mod_php4.c># php_value session.use_trans_sid 0# php_value register_globals 1#</IfModule>RewriteEngine On RewriteRule ^ma_redirection.* mon_adresse.php?param=12
Dan Posté 29 Septembre 2005 Posté 29 Septembre 2005 Euh ? Je ne vois pas ce que vieenent y faire les directive pour le SSL.. mais ta ligne n'est pas correcte: RewriteRule ^ma_redirection.* mon_adresse.php?param=12 Cela te renverra toujours à la même page... c'est ce que tu veux ? Enlève le ^ devant ma_redirection dans ce cas. Dan
mcfly Posté 29 Septembre 2005 Auteur Posté 29 Septembre 2005 Oui, c'est bien ce que je cherche à faire. (optimisation des noms de fichier dans une boutique Oscommerce sans passer par une contrib pour pouvoir choisir les mots clés sur chacune des pages) En revanche, pas de changement avec ou sans chinoiserie... Je vais passer un coup de bigot à mon hébergeur voir si ils ont une idée Merci en tout cas pour ton aide, et je vous tiens au courant si je trouve la faille...
mcfly Posté 14 Octobre 2005 Auteur Posté 14 Octobre 2005 L'erreur provenait bien d'une faute de syntaxe qui engendre l'erreur lorsque le .htacess n'était pas placé à la racine www/ Il fallait remplacé: RewriteRule ^ma_redirection.* mon_adresse.php?param=12RewriteRule ma_redirection.* mon_adresse.php?param=12 par: RewriteRule /ma_redirection.* /mon_adresse.php?param=12 En tout cas, chez mon hébegeur ça ne marche qu'avec cette syntaxe... Merci pour ton aide dan
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant