Aller au contenu

Rewriter un site hors www/


mcfly

Sujets conseillés

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

Salut dan, et merci pour ta réponse.

Désolé de n'avoir pas été suffisament clair :blush:

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é par mcfly
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

:wacko:

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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... :lol:

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...

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

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=12
RewriteRule 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 ;)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...