Htaccess : forcer sur www.domaine.fr avec des exceptions

Nouveau WRInaute
Bonjour,

je souhaiterais forcer mondomaine.fr vers www.mondomaine.fr mais avec une exception car j'ai un serveur qui peut m'atteindre pour certaines taches avec l'ip de mon serveur (ex: http://xxx.xxx.xxx.xxx/racine_site/mapage.php).

donc j'ai créé un fichier htaccess à la racine mon site :
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.mondomaine.fr [NC]
RewriteRule (.*) http://www.mondomaine.fr/$1 [QSA,R=301,L]

ceci fonctionne bien mais le serveur ne peut plus atteindre la page demandée car il est redirigé de suite.
comment gérer l'exception à partir de ce fichier htaccess ?

Merci
 
WRInaute passionné
et avec ca?
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.mondomaine.fr$ [NC]
RewriteCond %{HTTP_HOST} !^xxx.xxx.xxx.xxx$
RewriteRule (.*) http://www.mondomaine.fr/$1 [QSA,R=301,L]
 
Nouveau WRInaute
je viens de tester ceci :

Code :

Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.mondomaine.fr [NC]
RewriteCond %{HTTP_HOST} !^xxx.xxx.xxx.xxx$
RewriteRule (.*) http://www.mondomaine.fr/$1 [QSA,R=301,L]

ce qui semble fonctionner mais est-il possible de mettre l'url complete de la page demandée seulement ?
car je ne souhaite pas que les internautes accèdent au site via l'url :
http://xxx.xxx.xxx.xxx/racine_site/

ce qui est autorisé puisque j'accepte l'ip.

RewriteCond %{REMOTE_ADDR} !^xxx.xxx.xxx.xxx/racine_site/ma_page.php$
 
WRInaute passionné
essaye avec :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.mondomaine.fr [NC]
RewriteCond %{PATH_INFO} !^/racine_site/mapage.php$
RewriteRule (.*) http://www.mondomaine.fr/$1 [QSA,R=301,L]
 
WRInaute passionné
Avec une autre variable peut-être?
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.mondomaine.fr$ [NC]
RewriteCond %{SCRIPT_URI} !^http://xxx.xxx.xxx.xxx/racine_site/mapage.php$ [NC]
RewriteRule (.*) http://www.mondomaine.fr/$1 [QSA,R=301,L]
 
Nouveau WRInaute
je suis également redirigé

c'est étrange qu'il n'y ai est pas de moyen de laisser passer une url spécifique.

Merci pour les infos.
 
Nouveau WRInaute
disons que je ne n'ai pas tout capté sur la méthode...a voir

je trouve le htaccess plus simple a mettre en place car ceci rentre dans la creation d'un CMS ou tout est géré dynamiquement.
 
Nouveau WRInaute
qu'indique ces conditions ?
dois-je les mettre a la suite des autres ?

voici actuellement ce que j'ai dans mon htaccess :

Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.mondomaine.com [NC]
RewriteCond %{HTTP_HOST} !^xxx.xxx.xxx.xx$
RewriteRule (.*) http://www.mondomaine.com/$1 [QSA,R=301,L]

avec ceci je force bien sur les 3 W, mais mon site est aussi accessible via htttp://xxx.xxx.xxx.xx/racine_site/ (ce que je ne veux pas).

je veux que seul cette url type puisse passer :
http://xxx.xxx.xxx.xx/racine_site/dossier/ma_page.php

Merci.
 
WRInaute passionné
J'ai testé chez moi et cette version marche :
Code:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.monsite.fr$ [NC]
RewriteCond %{REQUEST_URI} !^/mon_repertoire/ma_page.php$ [NC]
RewriteRule ^(.*) http://www.monsite.fr/$1 [QSA,L,R=301]
 
Nouveau WRInaute
voici ce qui fonctionne sur vos conseils :

Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.domaine.com$ [NC]
RewriteCond %{REQUEST_URI} !^/racine_site/rep/ma-page.php$ [NC]
RewriteRule ^(.*) http://www.domaine.com/$1 [QSA,L,R=301]
pourrais-je avoir une explication claire sur chaque ligne que je comprenne bien, svp.
notamment sur les !^, $, ^(.*)

la seule chose (mais c'est pas trop grave), ce serait de ne pas pouvoir donner l'accès à ma page via le nom de mon serveur => http://name_serveur/racine_site/rep/ma-page.php

merci encore pour les infos, j'y suis arrivé.
 
Discussions similaires
Haut