Besoin d'un connaisseur pour HTACCESS
Résolu
Stef
-
maniax -
maniax -
Bonjour,
J'ai une question pour vous. J'ai un hébergement (infomaniak) et 2 noms de domaines qui ne seront pas dirigés au même endroit. J'ai déjà essayé plusieurs choses différentes trouvées sur GOOGLE, mais sans grand succès.
Je voudrais que le premier domaine (domaine principal): mondomaine.com oblige les www et reste à la racine de mon hébergement.
Le deuxième: mondomaine2.com soir plutôt redirigé vers un répertoire (rep) avec l'adresse rep.mondomaine2.com et que cette adresse soit affichée dans le browser.
Est-ce possible? Si oui pouvez-vous m'éclairer, car ce que je croyais facile au départ est devenu un cauchemar.
Merci à l'avance,
Stef
J'ai une question pour vous. J'ai un hébergement (infomaniak) et 2 noms de domaines qui ne seront pas dirigés au même endroit. J'ai déjà essayé plusieurs choses différentes trouvées sur GOOGLE, mais sans grand succès.
Je voudrais que le premier domaine (domaine principal): mondomaine.com oblige les www et reste à la racine de mon hébergement.
Le deuxième: mondomaine2.com soir plutôt redirigé vers un répertoire (rep) avec l'adresse rep.mondomaine2.com et que cette adresse soit affichée dans le browser.
Est-ce possible? Si oui pouvez-vous m'éclairer, car ce que je croyais facile au départ est devenu un cauchemar.
Merci à l'avance,
Stef
13 réponses
-
-
-
'lut,
Je te passe le début de mon .htaccess :DirectoryIndex index.html index.php Options +FollowSymLinks RewriteEngine On RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) RewriteRule ^(.*)$ index.php [F,L] <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.mon-site.fr [NC] RewriteRule ^(.*)$ http://www.mon-site.fr?d=%{HTTP_HOST} [QSA,R=301,L] </IfModule> <Files .htaccess> order allow,deny deny from all </Files>
Moi, mon but était que avec www ou sans, on arrive sur mon site.
C'est ma copine qui me l'a écrit ce .htaccess , moi je ne m'y connais pas trop trop.
J'espère que ça pourra t'aider un ptit peu, même si ta demande est inverse ;)
-
une simulation de sous-domaine en paramétrant le virtualhost + htaccess, je me penche sur ton cas, fais 2-3 tests et tente de t'apporter une réponse correcte
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
@ kevin76110: J'ai essayé mais sans grand succès. Ton htaccess ressemble à celui que j'ai actuellement. Merci beaucoup de ton aide.
@ maniaz: merci de bien vouloir m'aider. -
-
ca devrait ressembler à qqch du genre:
Options +FollowSymlinks RewriteEngine on RewriteCond %{HTTP_HOST} ^mondomaine1\.fr$ RewriteRule ^(.*) http://www.mondomaine1.fr/$1 [QSA,L,R=301] RewriteCond %{HTTP_HOST} ^http://(www\.)?mondomaine2\.fr RewriteRule ^(.*) http://rep.mondomaine2.fr/$1 [QSA,L,R=301]
Edit: le http:// de la ligneRewriteCond %{HTTP_HOST} ^http://(www\.)?mondomaine2\.frest surement de trop ^^ -
Oui, j'ai un domaine principal et des domaines secondaires et ils pointent tous à la racine. Si je créé un sous domaine test.domaine.com le sous domaine fonctionne aussi avec test.domaine2.com.
Merci à l'avance,
Stef -
-
@ maniax
J'ai un peu modifié ton code et ça fonctionne maintenant. Pourrais-tu me dire si mon code est correctement écrit (pour les engins de recherche).
Options +FollowSymlinks RewriteEngine on RewriteCond %{HTTP_HOST} ^domaine1\.com$ RewriteRule ^(.*) http://www.domaine1.com/$1 [QSA,L,R=301] RewriteCond %{HTTP_HOST} ^domaine2\.com$ RewriteRule ^(.*) http://rep.domaine2.com/ [QSA,L,R=301]
J'ai une question pour toi. Est-ce que chacun des RewriteCond ne lit que les RewriteRule sous lui. Je ne sais pas comment fonctionne l'ordre de priorité de ce fichier.
Merci à l'avance,
Stef -
Par contre si je tape: www.domaine2.com, ça ne fonctionne pas du tout... Il pointe à la racine.
Je sens que ça approche...
Merci,
Stef-
Il fallait modifier la ligne comme ça: RewriteCond %{HTTP_HOST} ^(www\.)?mondomaine2\.fr
Explications:
^ = Commence par
(www\.) = suivi de www.
? = ce qui est situé avant est optionnel (en l'occurence le www)
mondomaine2\.fr = suivi et ne se terminant pas forcement par .fr (redirige aussi les /index.php par exemple)
Pour répondre à ta question, les RewriteRules lisent les RewriteCond situés au dessus d'eux, et le L de [QSA, L, R=301] = Last
Si le htaccess à trouvé une correspondance dans un des rewriteCond, il s'arrête si le RewriteRule associé à un Last comme paramètre
Edit: edit en souligné
-
-
Un énorme merci... Tu es une vrai machine... J'ai passé tant de temps à essayer plein de chose et toi tu arrives avec la réponse en quelques minutes.
Merci, merci, merci... :-)
Je garde ce thread dans mes favoris pour le futur.
Encore merci,
Stef. -
De rien, de rien ! content de t'avoir aidé =)
Un p'tit résolu pour le topic ? ^^
Au plaisir !