Aller au contenu

Noter ce sujet :

Recommended Posts

Salut à tous.

Intéressant ce post !

J'ai tenté de mettre ceci dans mon .htaccess :

RewriteEngine on
RedirectPermanent / http://www.nouveau-domaine.com

Mais voilà.... j'ai une erreur 404.... !

Mon adresse d'origine ressemble à http://www.domaine.com/rep/sous-rep/ et je dois me rendre sur http://www.nouveau-domaine.com/.

Bien sûr, j'ai mis le .htaccess dans le répertoire "rep/sous-rep"...

Je ne vois pas comment sortir de petit mais génant problème...

Une idée messieurs les masters ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut salut

Salut Thierry,

Dans ce cas précis, le RedirectPermanent ne fonctionnera pas, parce que tu renommes mairies.htm en ... mairies.htm :( même s'il est dans un autre répertoire.

Je ne vois d'ailleurs pas bien ce que cela t'apporte en terme de mots clés car tu ne fais que répéter un mot clé qui y est déjà...

Si tu y tiens absolument, tu pourrais utiliser plutôt RedirectMatch car celui-ci permet des expressions régulières que ne permet pas le RedirectPermanent, par exemple:

RedirectMatch 301 ^/(mairies)\.html$ http://www.conseilgeneral.com/$1/$1.html

ou encore:

RedirectMatch 301 ^/(mairies|truc|machin|bidule)\.html$ http://www.conseilgeneral.com/$1/$1.html

Ce dernier te permettrait de rediriger /machin.html en machin/machin.html ;)

<{POST_SNAPBACK}>

Est-ce que cette redirection match

RedirectMatch 301 ^/(mairies|truc|machin|bidule)\.html$ http://www.conseilgeneral.com/$1/$1.html

fonctionnerait pour rediriger non page une page de la racine vers un sous-repertoire, mais une page de sous-repertoire vers la même page en racine (la page porte le même nom.)

Exemple, on déplace un phpBB qui se trouvait dans le répertoire /forum/de la racine. On imagine que des usagers ont mis en favoris l'adresse http//lesite.tld/forum/index.php ou encore un topic du forum, ce qui donnerait dans leur bookmark http://lesite.tld/forum/viewtopic.php...

Si oui, dans l'écriture de RedirectMatch 301 ^/(mairies|truc|machin|bidule), je ne saurais où placer le nom de l'ancien répertoire...

Une autre question, l'article dit dans le cas d'un changement de domaine, si j'ai bien compris :

RedirectPermanent http://ancien-domaine.tld/ http://www.nouvau-domaine.tld/

Mais en tapant http://ancien-domaine.tld/, (qui est un nom de domaine toujours effectif), moi j'ai toujours l'adresse de l'ancien domaine qui se trouve dans la barre d'url. En effet, l'ancien nom de domaine pointait déjà vers la racine où pointe aussi l'actuel nom de domaine, mais mon but est qu'on oublie définitivement l'ancien nom au profit du nouveau... Je pensais donc que pour la même page accueil affichée, l'adresse en revanche changerait :nono:

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello,

a la place de

RedirectPermanent http://ancien-domaine.tld/ http://www.nouvau-domaine.tld/

essai

RedirectPermanent /ancien-domaine.tld/ http://www.nouvau-domaine.tld/

pour voir si ça marche mieux (ne met pas le http:://www. mais directement le / (chez moi ça marche)

Partager ce message


Lien à poster
Partager sur d’autres sites

Non, marche pas :(

On dirait qu'un nom de domaine actif, pointant vers la même racine qu'un autre domaine, ne peut pas être voilé pas un htaccess (ce qui finalement semblerait logique, à bien y regarder... on pourrait faire pointer webmaster-hub.com vers n'importe quoi par exemple)

Je ne sais pas s'il y a une solution (mais merci pr ta contrib)

En revanche j'aimerais au moins pouvoir rediriger tous les viewtopic.php et le index.php d'un ancien phpBB vers la racine, où est installé l'ancien : en gros j'ai remonté simplement d'un répertoire; et je voudrais pouvoir faire un redirection à l'attention des usagers ayant gardé l'ancien chemin d'accès en favoris.

D'où ma question sur la redirection match de Dan...

Une idée ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah bah en fait je viens de tenter le coup... j'ai fait :

RedirectPermanent /ancienrepertoire/index.php http://racine-du-site/index.php

.htaccess que j'ai mis donc à la racine.

Ca fonctionne pour index.php apparemment. Je n'ai donc pas bien compris ce que disait Dan :nono:

Dans ce cas précis, le RedirectPermanent ne fonctionnera pas, parce que tu renommes mairies.htm en ... mairies.htm sad.gif même s'il est dans un autre répertoire.

C'est pourtant mon cas avec index.php. Le nom de page est le même, le répertoire est différent :huh:

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut JJJ,

Si on change le nom de domaine en gardant le même hébergement, il faut faire une réécriture conditionnelle.

C'est simple à comprendre: si tu as les domaines a.tld et b.tld sur le même hébergement, et que tu veux rediriger tout le trafic de a.tld vers b.tld, il est obligatoire de mettre une réécriture conditionnelle.

Un simple:

RedirectPermanent /   http://b.tld/

ne suffira pas, parce qu'il redirigera aussi b.tld/ vers b.tld/ vers b.tld/ etc... tu auras donc une boucle sans fin.

Il faut donc utiliser mod_rewrite !

Par exemple, sur le Hub, je redirige toutes les pages auxquelles il manque le www vers le domaine www.webmaster-hub.com comme ceci:

RewriteCond %{HTTP_HOST} !www.webmaster-hub.com$
RewriteRule (.*) http://www.webmaster-hub.com/$1 [R=301,L]

Dans ton cas, il faut donc mettre, pour tout rediriger vers www.b.tld:

RewriteCond %{HTTP_HOST} !www.b.tld$
RewriteRule (.*) http://www.b.tld/$1 [R=301,L]

Cela aura aussi l'avantage de rajouter le www s'il manque ;)

J'espère que c'était clair ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci !

RewriteCond %{HTTP_HOST} !www.b.tld$
RewriteRule (.*) http://www.b.tld/$1 [R=301,L]

Ce que je ne saisis pas, c'est où est-ce que tu renseignes l'url a.tld ou même www.a.tld dans ton expression conditionnelle.

Si tout ce qui passait par a.tld auparavant doit diriger vers b.tld, je ne comprends pas pourquoi le domaine a.tld n'est pas renseigné dans l'expression que tu me donnes.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour, je me permets de signaler une ressource bien utile en complément de l'article sur le htaccess mais aussi le mod rewrite. Ca se trouve , et ça donne en image des sortes d'aide-mémoire pour toutes expressions conditionnelles..etc.

Exemple (j'espère que l'image n'est pas trop grande) :

Téléchargeable aussi en PDF :)

(PS pour pas faire de doublon : on trouvera le même genre d'anti-sèches pour les CSS, PHP... :wub: )

post-1-1118383312_thumb.png

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour de rire, avant le w-end (on peut hein ?).

Puisque cet article traite entre autre de la gestion des 404 personnalisées : La firme Peugeot vient de décider de traîner en justice tous les sites web qui afficheront un message 404 lorsqu'une page n'est pas trouvée :

Selon le responsable de la communication ("propagande" en français) :

"La 404 est une voiture sympa et mythique, et ceux qui associent ce nombre à une erreur nuisent gravement à notre image".

;)

Partager ce message


Lien à poster
Partager sur d’autres sites
Un simple:

RedirectPermanent /   http://b.tld/

ne suffira pas, parce qu'il redirigera aussi b.tld/ vers b.tld/ vers b.tld/ etc... tu auras donc une boucle sans fin.

Il faut donc utiliser mod_rewrite !

Par exemple, sur le Hub, je redirige toutes les pages auxquelles il manque le www vers le domaine www.webmaster-hub.com comme ceci:

RewriteCond %{HTTP_HOST} !www.webmaster-hub.com$
RewriteRule (.*) http://www.webmaster-hub.com/$1 [R=301,L]

Dans ton cas, il faut donc mettre, pour tout rediriger vers www.b.tld:

RewriteCond %{HTTP_HOST} !www.b.tld$
RewriteRule (.*) http://www.b.tld/$1 [R=301,L]

<{POST_SNAPBACK}>

Super, c'est exactement ce que je cherchais car je bataillais avec RedirectPermanent sans trouver la solution.

Une petite recherche sur le Hub et hop c'est gagné.

Merci Dan :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

Qui me viendra en aide car je sèche...?

Sur un futur site j'aurai 2 sous-domaines pointant sur 2 répertoires différents selon une forme assez traditionnelle du style :

http://sousdomaine1.domaine.com --> http://www.domaime.com/repertoire/

Je souhaiterai maintenant INTERDIRE la consultation de toute page appelée selon la 2e forme et forcer le serveur à renvoyer la 1ère soit

soit http://www.domaime.com/repertoire/*.htm --> http://sousdomaine1.domaine.com/*.htm

Les différents essais que j'ai faits ne sont pas du tout probants.

Merci de votre aide.

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut Mandala75,

A la racine du site (dans -http://www.domaime.com/repertoire/ ) tu mets un fichier .htaccess avec ceci:

RewriteEngine On
RewriteCond %{HTTP_HOST} !sousdomaine.domaine.com$
RewriteRule (repertoire/)?(.*) http://sousdomaine.domaine.com/$2 [R=301,L]

Pense à remplacer domaine et sousdomaine dans l'expression ;)

Dan

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello,

Je viens de changer le répertoire de mon blog qui était auparavant à la racine du server, et je suis pas très sure pour le redirect permanent...

C'est bien celui ci ?

RedirectPermanent / http://www.domaine.tld/blog/

Merci d'avance :D

Partager ce message


Lien à poster
Partager sur d’autres sites

bon, j'ai essayer dans tout les sens mais rien n'y fait, la redirection ne marche pas....

comme je le disais plus haut, j'avais un blog dotclear la racine, deplus j'utiliser l'url rewriting pour enlever le index.php, maintenant tout est installer dans le rpertoire "dotclear" et j'utilise le "pathinfo comme ceci:

1) créer un répertoire dotclear

2) tout déplacer dans ce répertoire

3) copier /dotclear/index.php à la racine

4) corriger le app_path dans l'index.php de la racine pour qu'il pointe vers /dotclear/

5) copier /index.php en /blog.php

6) corriger l'URL vers le weblogue dans la config pour pointer vers /blog/

je voudrai faire une redirection de http://www.domaine.com -- http://wwwdomaine.com/blog/

mais rien n'y fait, ou alors a donne http://www.domaine.com/blog/blog/blog/blog...... tester avec les outils mis a disposition ici meme.

voil, c'est plus clair que mon premier post. :lol:

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour Yonji,

Si cela boucle c'est que tu as une autre redirection dans le répertoire /blog ...

Quelle est l'URL du domaine, et quel est le contenu du fichier .htaccess ?

Dan

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour Dan,

voici l'adresse du site, concernant le fichier .htaccess (que j'ai effacer), il y avait juste cette ligne :

RedirectPermanent / http://www.domaine.tld/blog/

ca comment a nous rendre chevre tout ca ! :P

P.S: Desolee d'ecrit sans accents, mais je les possede pas.

Modifié par Yonji

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

J'ai une question, comment le couple .htaccess/.htpasswd fait pour savoir si le password est bon vu que dans le .htpasswd on peut le crypté avec plusieurs algorythmes (AES,DES,MD5) ou la fonction crypt de PHP qui sort plusieurs hash pour un même mot ou simplement ne pas le crypté. :blink:

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour,

j'ai deux domaines toto.com et toto.net qui sont tous deux heberges sur le meme serveur. Je vousdrais n'avoir qu'une adresse officielle : toto.net .

Comment modifier le .htaccess pour que :

Avec machin.php valable pour n'importe quel fichier heberge sur le site

toto.com --> toto.net
www.toto.com --> toto.net
www.toto.net --> toto.net
toto.com/machin.php --> toto.net/machin.php
www.toto.com/machin.php  --> toto.net/machin.php
www.toto.net/machin.php  --> toto.net/machin.php

merci

Fred

Modifié par tuyau45

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour,

J'ai essaye avec

RewriteCond %{HTTP_HOST} !toto.net$
RewriteRule (.*) http://toto.net/$1 [R=301,L]

Mais si je tape toto.com je reste sur toto.com ...

une idee ?

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Tout simplement avec :

RewriteCond %{HTTP_HOST} !toto.net$
RewriteRule (.*) http://toto.net/$1 [R=301,L]

Cela devrait marcher... C'est ce que j'utilise sur le Hub depuis 2 ans :)

RewriteCond %{HTTP_HOST} !www.webmaster-hub.com$
RewriteRule (.*) http://www.webmaster-hub.com/$1 [R=301,L]

Assures-toi d'avoir mis "RewriteEngine on" au dessus de ce code ;)

Dan

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci

J'ai au moins qqs resultats, j'avais oublie "RewriteEngine on" grrrr

Ce qui marche ;

toto.com --> toto.net

toto.com/machin.php --> toto.net/machin.php

Ce qui ne marche pas

www.toto.com --> www.toto.com

www.toto.net --> www.toto.net

www.toto.com/machin.php --> www.toto.com/machin.php

www.toto.net/machin.php --> www.toto.net/machin.php

J'aimerai comprendre aussi :

RewriteCond %{HTTP_HOST} !toto.net$

signifie t'il Si HTTP_HOST different de toto.net ?

Encore merci

Partager ce message


Lien à poster
Partager sur d’autres sites
Ce qui ne marche pas

www.toto.com --> www.toto.com

www.toto.net --> www.toto.net

www.toto.com/machin.php  --> www.toto.com/machin.php

www.toto.net/machin.php  --> www.toto.net/machin.php

J'aimerai comprendre aussi :

RewriteCond %{HTTP_HOST} !toto.net$

signifie t'il Si HTTP_HOST different de toto.net ?

Qu'est ce qui ne marche pas ? Tes exemples ne sont pas clairs...

Tu peux forcer le host à toto.net en changeant la condition:

RewriteCond %{HTTP_HOST} !^toto.net$

(ajout de ^ au début)

Cette condition signifie effectivement "si le host n'est pas toto.net"

Dan

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • Contenu similaire

    • Par kevinjoseph
      Bonjour, j’ai un gros problème sur mon site Wordpress . Du jour au lendemain, mon site wordpress fais une redirection vers un autre site wordpress que j’ai crée ,sans que je touche à quoi que ce soit. Quand j’essai d’aller sur l’admin pour désactiver les plugins et voir d’où peut venir le problème. Impossible d’accéder, sa me redirige vers l’admin de l’autre site. Au final il est impossible que j’accède au site via (google, la bare de recherche, les favoris, l’admin…) pour voir ce qu’il fonction pas, j’ai juste accès au FTP. J'ai essayé de voir d'où pouvez venir ce bug en supprimant les plugins, le théme, mes derniers modifications, regarder sur le .htaccess si il y avais quelque par le nom de domaine de l'autre site écrit. Ca n'a rien changer, le site continue de ce rediriger automatiquement vers l'autre site. Si vous avez une idée d’où sa peut venir ou comment faire pour arranger ça et surtout comment éviter que sa ce reproduise. Sa m’aiderai beaucoup, merci d’avance.
      voici le code du .htaccess:
       
      # BEGIN WordPress
      <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      </IfModule>

      # END WordPress
      ~   Ludovic • 16:28    
    • Par leobk
      Bonjour,
       
      J'ai un sous-domaine www.fr.monsite.com dédié pour la réservation des vols
      j'ai redirigé récemment ce sous-domaine vers le site principal www.monsite.com et le nombre des erreurs 404 a explosé
      un nombre énorme d'URLs de type :
      www.fr.monsite.com/fr/vols/index?f_type=01&f_departure=TLS&f_destination=DJE&f_date_from=08/09/2013&f_date_to=22/09/2013&f_flexibility=3&f_paxs_adults=2&f_paxs_childs=0&f_paxs_infants=0
      redirigent vers :
      www.monsite.com/fr/vols/index?f_type=01&f_departure=TLS&f_destination=DJE&f_date_from=08/09/2013&f_date_to=22/09/2013&f_flexibility=3&f_paxs_adults=2&f_paxs_childs=0&f_paxs_infants=0
       
      L'URL de destination est biensur introuvable 404, puisque les variables utilisés dans les deux sites ne sont pas identiques
      Voici la structure d'URL si on fait une recherche de vol sur le site principal :
      https://www.monsite.com/fr/resa?depart=SXF&arrivee=NBE&aller=2017-11-10&retour=2017-11-30&adultes=1&enfants=1&bebes=0&departureDateTime_D=&arrivalDateTime_D=&departureDateTime_R=&arrivalDateTime_R=&fareGroupName=&fareGroupName_R=&sens=2&currency=EUR&airline=&flightNumber=&flight=&flight_retour=&webview=0&felxibilite=2
       
       
      existe-il un moyen pour rediriger l'ensemble des URLs dynamiques du sous-domaines vers une URL statique du domaine principale (autre que l'accueil)?
       
       
    • Par PieceMobile
      Bonjour,



      J'espère que vous allez tous bien.



      Auriez vous une solution pour rediriger ( via une règle htaccess par exemple ) :



      http://www.mon-site.com/blabla.html?ps_mobile_site=1



      vers : http://www.mon-site.com/blabla.html



      A mon avis, s'agissant d'un paramètre d'URL, de ce que j'ai cru comprendre -a mon petit niveau- c’était pas possible, mais ça me dépannerai pas mal si l'un d'entre vous avait une idée.



      Merci d'avance





    • Par aurelien59
      Bonjour, Je me permet de poster ce problème sur ce forum en plus de l'avoir posté sur un autre. Le problème survient sur un site codé en dur. Depuis plusieurs mois après la mise en place de redirection, je rencontre un problème. La redirection a été mise en place pour rediriger simplement les pages ayant un underscore vers un tiret. Par exemple page_1.php vers page-1.php Dans Google webmasters tools, zone "Exploration", > Erreurs d'exploration > le nombre des URL non suivies à augmenter de manière considérable sur ordinateurs et smartphone.

      Voici un exemple de page contenant l'erreur : page-1.php/page-a.php (alors que la page correcte est page-1.php, la page page-a.php est présente sur le site en racine). Lorsque je clic sur l'url d'erreur, dans l'onglet "Référencée sur". Les url qui apparaissent sont : http://www.monsite.fr/page-2.php/page-b.php'>>http://www.monsite.fr/page-2.php/page-b.php et http://www.monsite.fr/page-2.php/page-c.php'>>http://www.monsite.fr/page-2.php/page-c.php (non indexés sur Google). Voici l'extrait du .htaccess ErrorDocument 404 http://www.monsite.fr/404.phpRewriteEngine onRewriteCond %{HTTP_HOST} ^monsite.fr$RewriteRule ^(.*) http://www.monsite.fr/$1 [QSA,L,R=301]RewriteRule ^([^_]*)_([^_]*)$ /$1-$2 [L,R=301]RewriteRule ^(.*)\.php/$ http://www.monsite.fr/$1.php[L,R=301]RewriteRule ^(.*)\.php/(.*)\.php$ http://www.monsite.fr/$1.php[R=301]RewriteCond %{REQUEST_FILENAME} -s [OR]RewriteCond %{REQUEST_FILENAME} -l [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^.*$ - [NC,L]RewriteRule ^.*$ /404.php [NC,L] Merci beaucoup pour votre aide.
×