[NON résolu] exlusion de repertoires d'un RedirectPermanent

WRInaute accro
Bonjour
ce que je cherche à l'air simple mais je ne trouve la réponse nulle part :(
Voila, mon site a la forme suivante

monsite.free.fr
====>repertoire a
====>repertoire b
====>repertoire c
====>repertoire d...


là j'ai fait une redirection pour "envoyer" les pages sur mon nouveau hebergeur de telle sorte que, par exemple h**p://monsite.free.fr/a/fichier.xxx soit redirigé vers h**p://www.monnouveausite.com/a/fichier.xxx
j'ai donc mis à la racine de monsite.free.fr un htaccess :
Code:
RedirectPermanent / h**p://www.monnouveausite.com/
bon, ok ça fonctionne.

Mais moi je suis chiant donc je souhaite que certains repertoires et/ou fichiers ne soient pas redirigés
de telle sorte, par exemple, que lorsqu'on tape h**p://monsite.free.fr/b/ on reste sur cette URL, et que ça ne redirige PAS vers h**p://www.monnouveausite.com/b/ (qui n'existe pas d'ailleurs)

alors COMMENT FAIRE pour exclure certains repertoires (et/ou fichiers) de la redirection ???

Quoique je fasse je me retrouve soit avec une erreur 503 (je crois) du serveur, soit une boucle infinie ==> erreur
J'ai donc essayé de rajouter, par exemple, dans le htaccess de la racine la ligne suivante :
Code:
RedirectPermanent /repertoirequibougepas/ /repertoirequibougepas/
mais ça marche pas, non plus quand je mets des http devant

sur le chat de WRI on m'avait indiqué qu'on pouvait mettre des htaccess à l'intérieur des répertoires, donc j'avais créé un nouveau fichier htaccess que j'avais placé dans le repertoire à ne pas déplacer, et dedans j'ai tout essayé (je crois) mais, rien à faire, quand ça veut pas ça veut pas.

Je me suis battu toute la journée hier avec ça, rien à faire
peut être qu'une personne ici présente qui a plus de cerveau que moi pourrait m'aider ? MERCI D'AVANCE !!!
 
WRInaute discret
Hello,

et tu as essayé d'ajouter un [L] ?
Code:
RedirectPermanent /repertoirequibougepas/ /repertoirequibougepas/ [L]
pour éviter qu'il boucle ?
 
WRInaute accro
Code:
RedirectPermanent / http://www.vrai-nom.com/
ErrorDocument 404 http://www.vrai-nom.com
ça ça fonctionne, sauf pour le repertoire en question

Code:
RedirectPermanent / http://www.vrai-nom.com/
RedirectPermanent /tele-realite/ /tele-realite/ [L]
ErrorDocument 404 http://www.vrai-nom.com
ça ça marche plus du tout, même le redirection de la racine du site free ne fonctionne plus :(
 
WRInaute passionné
Bonjour TOMHTML,

c'est la première fois que j'entends qu'une directive "RedirectPermanent" dans le .htaccess marche sur free.fr : une nouveauté ?

Essaye ça (aucune garantie) :
- supprimes toute redirection à la racine
- dans chaque répertoire à rediriger :
Code:
RedirectMatch 301 http://www.monnouveausite.com/repertoiremachin/

Mais je n'y crois pas trop : les URL du répertoire vont être redirigées vers l'index du nouveau répertoire :-(
D'où la solution bestiale, page par page (toujours par répertoire) :
Code:
RedirectMatch 301 pagetruc.xxx http://www.monnouveausite.com/repertoiremachin/pagetruc.xxx
 
WRInaute impliqué
Voici ce que je ferais:
Code:
RewriteEngine On
RewriteCond %{REQUEST_URI} !monrepertoire
RewriteRule ^(.*)$ h**p://www.monnouveausite.com/$1 [R=301]
 
WRInaute passionné
Bonjour shrom,

en tant que webmestre avancé sur free.fr je peux te dire que les directives "RewriteEngine" et assimilées ne marchent pas, mais il y a peut-être du changement ces derniers temps ?
 
WRInaute accro
Merci à tous
Pour la technique de Shrom, ça ne fonctionne pas du tout sur free.
Eservice > RedirectPermanent fonctionne sur free ;)

par contre ta première technique est un peu hardcore quand même, je rappelle que moi je veux tout rediriger SAUF quelques repertoires qui doivent pas bouger, eux. Ces repertoires sont moins nombreux que les fichiers et autres repertoires à rediriger

Pour la seconde technique, ça a l'air de fonctionner (rediriger les fichiers un par un) mais si je veux que tout les fichiers à rediriger le soit vraiment, mon fichier htaccess va faire plus de 10 Mo ! Dingue !
C'est faisable, mais bon si y'a une technique pour EXCLURE certains répertoires, mon htaccess, dans ce cas, ne ferait plus que 5 lignes ;)


PS : me demandaient pas comment j'ai fait, pendant quelques instant un repertoire "qui bouge pas" n'était pas redirigé, et y'avait pas d'erreur, miracle ! Mais dans le même temps toutes les autres pages, celles qui doivent "subir" le redirectpermanent, affichaient quant à elle une page d'erreur... :( :( :(
 
WRInaute impliqué
On peut faire un peu bourrin puique Free ne supporte pas "RewriteRule".

Tu vires de ton ancien hébergement tous les fichiers qui sont sur le nouveau.

Tu mets dans ton htaccess:
Code:
ErrorDocument 404 redir.php

Avec un fichier redir.php
Code:
<?php
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.monnouveaudomaine/'.$_SERVER['REQUEST_URI']);
?>
 
WRInaute accro
ouais, mais ça change rien au fait que les fichiers A NE PAS REDIRIGER seront redirigés quand même... non ?
De plus, le fait de mettre l'erreur 404, ça va tout foirer pour le référencement non ?
 
WRInaute impliqué
TOMHTML a dit:
ouais, mais ça change rien au fait que les fichiers A NE PAS REDIRIGER seront redirigés quand même... non ?

Et bien non puisqu'ils sont présents, il ne sont donc pas en erreur 404.

De plus, le fait de mettre l'erreur 404, ça va tout foirer pour le référencement non ?

La encore, non. Le code de retour ne sera pas 404 mais 301 ( c'est redir.php qui décide du code de retour), la même chose qu'avec ton "RedirectPermanent".
 
WRInaute accro
Désolé, ça marche pas
Pour les repertoires à ne pas rediriger, ben eux ils ne bougent pas, c'est le but
par contre, si je supprime un fichier qui est également sur mon nouveau serveur, quand je tape l'adresse free du fichier supprimé, normalement ça devrait redirigé vers ***.com/lefichier.xxx mais là non, rien : quand je tape l'adresse du fichier que je viens de supprimer (sur free, là où je viens de mettre le htaccess et le redir.php) j'obtiens une page d'erreur.


je précise que j'ai, bien entendu, remplacé "monnouveaudomaine" par le domaine en question... :wink:
 
WRInaute passionné
Ecoute-moi bien TOM :
- d'abord remplaces ton clavier binaire à 2 touches par un clavier d'humain, avec les touches de l'alphabet et les autres
- ensuite retires tes moufles, je sais que c'est de saison mais bon arrête tes conneries
- enfin on se décarcasse pour essayer de démerder ton $*^!§ de %:(! de foutoir de *§?@# mais tu t'acharnes à répondre
Désolé, ça marche pas
fais un minimum d'effort stp ;-)

TOMHTML a dit:
Eservice > RedirectPermanent fonctionne sur free ;)
Tu me cherches ? Dans ton cas précis mais pas dans d'autres :p

par contre ta première technique est un peu hardcore quand même, je rappelle que moi je veux tout rediriger SAUF quelques repertoires qui doivent pas bouger, eux.
T'en veux une ou quoi ? Blague à part, je te demande de coller un .htaccess dans les sous répertoires, pas à la racine.

Pour la seconde technique, ça a l'air de fonctionner (rediriger les fichiers un par un) mais si je veux que tout les fichiers à rediriger le soit vraiment, mon fichier htaccess va faire plus de 10 Mo ! Dingue !
Feignasse ! ;-)

Inutile d'essayer les techniques à base de
RedirectPermanent (*.) /$1
RedirectMatch 301 (*.) /$1

La méthode de shrom devrait marcher.

Donne les messages d'erreur que tu as, le code des .htaccess à la racine et ailleurs, etc ... enfin bref bouges-toi un peu merde ! :lol:
 
WRInaute accro
Oh oh, du calme ami modo
Je fais ce que je peux, je bosse moi, et sans moufles...

enfin on se décarcasse pour essayer de démerder ton $*^!§ de %! de foutoir de *§?@# mais tu t'acharnes à répondre
C'est pas le but d'un forum ? ... :!:

Donne les messages d'erreur que tu as, le code des .htaccess à la racine et ailleurs, etc ... enfin bref bouges-toi un peu merde !
c'est pas super compliqué d'expliquer :
Quand, à la racine toujours, je mets
Code:
RedirectPermanent / h**p://www.monnouveausite.com
et bien h**p://blablabla.free.fr/FICHIER.XXX est bien redirigé vers h**p://www.monnouveausite.com/FICHIER.XXX là c'est bon tout le monde comprends ? :lol:
MAIS, h**p://blabla.free.fr/REPERTOIREAPASDEPLACER/FICHIER.XXX est redirigé vers h**p://www.monnouveausite.com/REPERT.... donc j'obtiens une erreur 404 puisque ces pages ne sont pas sur mon nouveau serveur, et JE VEUX PAS QU'ELLES SOIENT REDIRIGEES.

quand je fais le truc de shrom avec redir.php et le htaccess à la racine, et bien là ça marche : h**p://blabla.free.fr/REPERTOIREAPASDEPLACER/FICHIER.XXX reste comme ça et il bouge pas et il s'affiche bien
MALHEUREUSEMENT, toutes les autres pages à rediriger vers le .com, qui ne sont plus sur free puisque je les ai supprimé, et bien à la place nous avons une superbe erreur 404...
Et, mais là je pense que c'est "normal", quand je tape h**p://blablabla.free.fr/redir.php là aussi j'ai une erreur 404.



Et en ce qui concerne le htaccess à l'interrieur des repertoires à ne pas déplacer, quoique je fasse ça ne me redirige pas les autres repertoires qui devraient être redirigés, et
soit j'ai une erreur 404
soit j'ai bien les pages qui s'affichent, le but recherché, mais là c'est comme si j'avais rien fait donc (si vous avez suivi...)

voilà, je retourne travailler, sans les moufles...
 
WRInaute impliqué
TOMHTML a dit:
quand je fais le truc de shrom avec redir.php et le htaccess à la racine, et bien là ça marche : h**p://blabla.free.fr/REPERTOIREAPASDEPLACER/FICHIER.XXX reste comme ça et il bouge pas et il s'affiche bien
MALHEUREUSEMENT, toutes les autres pages à rediriger vers le .com, qui ne sont plus sur free puisque je les ai supprimé, et bien à la place nous avons une superbe erreur 404...
Et, mais là je pense que c'est "normal", quand je tape h**p://blablabla.free.fr/redir.php là aussi j'ai une erreur 404.

Quand tu tape directement: h**p://blablabla.free.fr/redir.php, c'est normal que ça ne fonctionne pas puisque ce fichier n'existe pas sur ton nouveau serveur. Je te rappelle qu'il redirige la requête complète, cad que h**p://blablabla.free.fr/redir.php va être redirigé vers h**p://tonnouveausite/redir.php.

J'ai mis en pratique cette solution sur un site et ça fonctionne très bien.

L'erreur 404 est donnée par free ou par ton ouveau serveur ?
 
WRInaute accro
Je pense que ça vient de free, d'ailleurs l'adresse reste sur free, pas de redirection


je pensais que c'était peut être à cause du php qui n'était peut être pas activé sur mon site free (sert à rien de l'activer, vu que mon site est en html) mais là j'ai essayé avec des pages de test php, et ça fonctionne, donc le problème vient pas de là :?
 
WRInaute passionné
TOMHTML a dit:
Oh oh, du calme ami modo
Je fais ce que je peux, je bosse moi, et sans moufles...
Je plaisantais TOM.

Quand, à la racine toujours, je mets
Code:
RedirectPermanent / h**p://www.monnouveausite.com
Non, à la racine ça se propage aux sous-répertoires, c'est pour cela que je te demandais de ne pas le faire à la racine, mais seulement dans les sous-répertoires à rediriger.
Sur free tu ne peux pas contredire une redirection par .htaccess déclarée dans un répertoire supérieur.

Par contre pour la racine et les répertoires où certains fichiers seulement sont concernés, il faut le faire fichier par fichier.

En clair à la racine :
Code:
RedirectMatch 301 page01.xxx http://www.monnouveausite.com/page01.xxx
RedirectMatch 301 page02.xxx http://www.monnouveausite.com/page02.xxx
...

Dans le répertoire A à rediriger complétement : (là j'ai un doute sur la syntaxe exacte, à tester)
Code:
RedirectPermanent . h**p://www.monnouveausite.com/repA/$1
Sinon à la racine :
Code:
RedirectPermanent /repA/ h**p://www.monnouveausite.com/repA/$1

Dans un répertoire B à rediriger partiellement : idem que la racine


La méthode de shrom est plus pratique.
 
WRInaute accro
je vais essayer et je vous dis quoi
mais une petite question, est ce que ceci fonctionnerait à votre avis ?
htaccess à la racine : RedirectPermanent / h**p://www.monsite.com/
htaccess dans les repertoires à ne pas déplacer : RedirectPermanent / h**p://blablabla.free.fr/monrepertoireapasdeplacer/

comme ça le deuxième RedirectPermanent normalement devrait "rediriger ces repertoires vers eux mêmes". Non ? Un espoir de fonctionnement ?
Je teste et je vous dis quoi
 
WRInaute occasionnel
Eservice a dit:
Bonjour TOMHTML,

c'est la première fois que j'entends qu'une directive "RedirectPermanent" dans le .htaccess marche sur free.fr : une nouveauté ?

Essaye ça (aucune garantie) :
- supprimes toute redirection à la racine
- dans chaque répertoire à rediriger :
Code:
RedirectMatch 301 http://www.monnouveausite.com/repertoiremachin/

Mais je n'y crois pas trop : les URL du répertoire vont être redirigées vers l'index du nouveau répertoire :-(
D'où la solution bestiale, page par page (toujours par répertoire) :
Code:
RedirectMatch 301 pagetruc.xxx http://www.monnouveausite.com/repertoiremachin/pagetruc.xxx

J'ai fais une redirection permanente :
RedirectPermanent / -http://www.monsite.com/ de mon site free vers mon hébergeur et ça marche nikel ....
Mais je ne sais pas si chaque page est redirigée vers son identique sur le serveur ex: login.free.fr/page1.html -> monsite.com/page1.html et non pas uniquement vers l'index du site...
 
WRInaute accro
si si sur free une "simple" redirection permanente fonctionne, par contre vous en mettez deux (même fichier ou pas) y'a plus rien qui fonctionne...
 
Discussions similaires
Haut