1

Bonsoir,
J'ai un petit problème avec mon fichier HTACCESS.
J'ai créé une redirection de http://monsite.com vers http://www.monsite.com

voici le contenue de mon code ######################################################################## # # # __ _ __ _ # # __ ______/ /______ _ ______(_) /_(_)__ ___ _ # # / // / __/ / __/ -_) |/|/ / __/ / __/ / _ \/ _ `/ # # \_,_/_/ /_/_/ \__/|__,__/_/ /_/\__/_/_//_/\_, / # # /___/ # # # # # ######################################################################## # # # Titre : Redirection massive avec le sous domaine (www) # # # # URL : http://www.urlrewriting.fr/scripts1-Apache.htm # # Auteur : Koogar # # Date édition : 04 Mai 2008 # # Website auteur : http://www.phpsources.org # # # ######################################################################## RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]

Ceci fonctionne très bien.

Cependant j'ai une IP dédié : 66.197.175.196
Et lorsque j'accede à mon site via l'IP, la redirection du www donne une page introuvable : http://www.66.197.175.196

Ma question est donc comment rajouter une exception dans mon fichier htaccess pour un accès à mon serveur via l'IP.
Je sais que c'est possible j'ai essayer avec google.fr (qui se redirige vers www.google.fr mais qui est accessible via l'IP http://74.125.77.104)

Merci beaucoup !
Surcouf

2

Surcouf (./1) :

Ma question est donc comment rajouter une exception dans mon fichier htaccess pour un accès à mon serveur via l'IP.
Je sais que c'est possible j'ai essayer avec google.fr (qui se redirige vers www.google.fr mais qui est accessible via l'IP http://74.125.77.104)


Je pense que google.fr et www.google.fr ne sont pas des redirections Apache, mais deux entrées DNS différentes, et que dans la déclaration des virtual hosts google.fr et www.google.fr pointent vers le même point (après, je ne serais pas surpris que le serveur Web de google soit un produit spécifique).
Tu n'as pas la possibilité, dans l'interface d'administration de ton dédié, de créer une entrée DNS pour tondomaine.fr tout court ? D'ailleurs, si c'est un dédié, tu dois avoir accès à ton apache.conf ou httpd.conf en mode console pour pouvoir y faire des changements, non ? Comme ça tu peux redéfinir des virtual hosts comme tu veux...

Passé ce détail technique, je vois un défaut à ton RewriteCond : si quelqu'un va sur test.tondomaine.fr, j'ai l'impression que tu seras redirigé vers www.test.tondomaine.fr (enfin, tu t'en fous peut-être=
avatar

3

Voilà une version plus simple qui devrait fonctionner dans tous les cas (pas d'ajout des www pour une IP ou lorsqu'il y a un sous-domaine) smile ######################################################################## # # # __ _ __ _ # # __ ______/ /______ _ ______(_) /_(_)__ ___ _ # # / // / __/ / __/ -_) |/|/ / __/ / __/ / _ \/ _ `/ # # \_,_/_/ /_/_/ \__/|__,__/_/ /_/\__/_/_//_/\_, / # # /___/ # # # # # ######################################################################## # # # Titre : Redirection massive avec le sous domaine (www) # # # # URL : http://www.urlrewriting.fr/scripts1-Apache.htm # # Auteur : Koogar # # Date édition : 04 Mai 2008 # # Website auteur : http://www.phpsources.org # # # ######################################################################## RewriteEngine On RewriteCond %{HTTP_HOST} ^[^.]*$ RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
avatar

4

perso j'ai des vhosts differents et un index.php a la racine avec <?php header("Location: http://destination"); ?>

mais on doit pouvoir utiliser uniquement apache en faisant pointer les deux vhosts sur le meme document root.

5

Merci beaucoup pour vos réponses.
Alors je doit tout d'abord vous préciser que je suis sur du mutualisé.

Thepro merci pour ton code, mais il ne fonctionne pas : en aucun cas il n'y a de redirection de monsite vers www.monsite

Il est vrai que tout mes sous domaines sont redirigés avec www et c'est pas top j'avoue.

J'ai un accès sur ma zone DNS :
sinon voici les réglages de notre copain : http://who.is/dns/google.fr
et de mon site : http://who.is/dns/hqweb.fr
Surcouf

6

Ah, désolé, en lisant
Surcouf (./1) :
Cependant j'ai une IP dédié

j'ai fait un raccourci pensant que c'était tout le serveur qui était dédié...

Sinon, ThePro, je ne comprends pas ta regexp (en même temps, c'est pas ma spécialité grin)
avatar

7

Peut être que c'est possible de puis la Zone DNS, mais je découvre un peu tout ça et je manie ça avec précaution, je peux cependant créer toute sorte d'entrée...
Surcouf

8

./6 Normalement, ça devrait vérifier qu'il n'y a pas de point dans le nom de domaine... Mais ça semble ne pas fonctionner grin

Peut-être que cette version fonctionnera mieux :
RewriteCond %{HTTP_HOST} !^.*\. smile
avatar

9

Solution trouvée :
RewriteEngine on RewriteCond %{HTTP_HOST} ^hqweb.fr$ RewriteRule ^/?$ "http\:\/\/www\.hqweb\.fr" [R=301,L]

ça fonctione : http://hqweb.fr / http://66.197.175.196

Merci de votre aide.
Mais ça doit s'écrire de façon plus générale non?
Surcouf

10

Thepro ta solution ne fonctionne toujours pas, c'est bien ceci? : RewriteEngine On RewriteCond %{HTTP_HOST} !^.*\. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
Surcouf

11

./9 Ça ne va pas fonctionner si tu changes de nom de domaine (et il manque [NC] pour que ça ne soit pas sensible à la casse) smile

./10 Oui, c'est bien ça. On dirait qu'Apache n'aime pas les points sad
Peut-être que RewriteCond %{HTTP_HOST} !\. va fonctionner. Sinon, tant pis, ta solution du ./9 est correcte avec le [NC] smile
avatar

12

Thepro (./11) :
et il manque [NC] pour que ça ne soit pas sensible à la casse

confus Qu'appelles tu sensibles à la casse? [NC] ?

Après c'est pas très grave car je ne change pas de domaine tous les 3 jours... grin
Enfin je ne vois pas bien l'intérêt de faire une solution plus générale?
A part m'éviter de réécrire les 2 lignes pour les domaines garés...
Surcouf

13

"abc" et "aBc" sont identiques à la casse près par exemple. Tu vas pas me dire que tu sais pas ça ? grin
En l'occurence, si ton truc est sensible à la casse, http://hqweb marchera, mais http://hqweb ne marchera pas

[NC] doit être une balise rendant les différences de casse transparentes.

14

En effet smile
Et si tu ne sais pas où le placer, regarde ./1 grin
avatar

15

fou ça fonctionne sans [NC], si je rentre HqWeb.fr, ça met tout en miniscule puis ça fait a redirection www... (testé ss Chrome5, IE 8, FF 3.6.)
Surcouf

16

Probablement parce que l'insensibilité à la casse est déclarée de façon générale dans le fichier de conf du service Apache smile
avatar

17

OK merci les gens de votre aide smile
Surcouf

18

J'ai la solution, cele redirige: domain.com --> www.domain.com
et 12.34.56.789 --> www.domain.com si vous avez une IP dédié.
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www.hqweb.eu$ [NC] RewriteRule ^(.*)$ http://www.hqweb.eu/$1 [L,R=301]
wink
Surcouf

19

Attention, il faut que mod_rewrite soit activé sur ledit serveur, c'est pas toujours le cas smile
avatar