redirection avec htaccess, possible ?
11 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- Ethancarter
- WRInaute discret

- Messages: 77
- Inscription: 25 Jan 2004
redirection avec htaccess, possible ?
Bonjour,
J'ai déplacé récemment des fichiers CGI (perl) de mon site. Ils étaient avant dans cgi-bin/1/ et sont maintenant dans cgi-bin/ tout court.
Je voudrais placer une redirection, de façon à ce que, lorsqu'une personne tape :
domaine.com/cgi-bin/1/index.cgi?action=machin
cette personne soit rédirigée vers :
domaine.com/cgi-bin/index.cgi?action=machin
Je voudrais une vraie redirection, pas un simple rewriting. C'est possible avec .htaccess ?
merci
J'ai déplacé récemment des fichiers CGI (perl) de mon site. Ils étaient avant dans cgi-bin/1/ et sont maintenant dans cgi-bin/ tout court.
Je voudrais placer une redirection, de façon à ce que, lorsqu'une personne tape :
domaine.com/cgi-bin/1/index.cgi?action=machin
cette personne soit rédirigée vers :
domaine.com/cgi-bin/index.cgi?action=machin
Je voudrais une vraie redirection, pas un simple rewriting. C'est possible avec .htaccess ?
merci
- Ethancarter
- WRInaute discret

- Messages: 77
- Inscription: 25 Jan 2004
J'ai essayé :
Redirect permanent /cgi-bin/1/(.*) http://www.tro-online.com/cgi-bin/$1
sans aucun succés ! ça ne plante pas le serveur, mais il ne réagit pas. J'ai essayé dans le .htaccess du /html/ et du /cgi-bin/, mais c'est pareil !
Redirect permanent /cgi-bin/1/(.*) http://www.tro-online.com/cgi-bin/$1
sans aucun succés ! ça ne plante pas le serveur, mais il ne réagit pas. J'ai essayé dans le .htaccess du /html/ et du /cgi-bin/, mais c'est pareil !
- Ethancarter
- WRInaute discret

- Messages: 77
- Inscription: 25 Jan 2004
Bon, voilà ce que j'ai fait et ça fonctionne.. à peu prés :
RedirectMatch 301 /1/(.*) http://www.tro-online.com/cgi-bin/$1
Le problème, c'est que le ? et tout ce qui suit n'est pas pris en compte !
exemple : si je tape
/cgi-bin/1/test.cgi?commande=1
je suis renvoyé vers :
/cgi-bin/test.cgi les paramètres ne sont pas pris en compte !
Pourtant, quand je met .* dans la synatxe, le . doit prendre en compte n'importe quel caractère, non ?
Merci de votre aide.
RedirectMatch 301 /1/(.*) http://www.tro-online.com/cgi-bin/$1
Le problème, c'est que le ? et tout ce qui suit n'est pas pris en compte !
exemple : si je tape
/cgi-bin/1/test.cgi?commande=1
je suis renvoyé vers :
/cgi-bin/test.cgi les paramètres ne sont pas pris en compte !
Pourtant, quand je met .* dans la synatxe, le . doit prendre en compte n'importe quel caractère, non ?
Merci de votre aide.
- chris421
- Nouveau WRInaute

- Messages: 16
- Inscription: 23 Mai 2004
Le plus simple est de mettre un lien symbolique du rep /cgi-bin/1 vers /cgi-bin :
place-toi dans le repertoire cgi-bin et tappe la commande :
ln -s . 1
ainsi, toute demande faite vers le répertoire /cgi-bin/1 sera exécutée sur le répertoire /cgi-bin
place-toi dans le repertoire cgi-bin et tappe la commande :
ln -s . 1
ainsi, toute demande faite vers le répertoire /cgi-bin/1 sera exécutée sur le répertoire /cgi-bin
Dernière édition par chris421 le Lun Mai 24, 2004 13:14, édité 1 fois.
- Ethancarter
- WRInaute discret

- Messages: 77
- Inscription: 25 Jan 2004
merci !
j'ai essayé, mais ça ne marche pas ! erreur 500 si je rajoute ta ligne, que ce soit avant ou aprés le RewriteEngine on .
j'ai essayé, mais ça ne marche pas ! erreur 500 si je rajoute ta ligne, que ce soit avant ou aprés le RewriteEngine on .
- Thierry Chatel
- Nouveau WRInaute

- Messages: 5
- Inscription: 24 Mai 2004
Tu peux très bien faire une vraie redirection par un RewriteRule dans le .htaccess. C'est le flag 'R' qui sert à ça. Sauf que par défaut ça envoie un code HTTP 302 pour la redirection ("Déplacé temporairement"), il est préférable de spécifier explicitement d'utiliser le code 301 ("Déplacé définitivement").
Ca doit faire un truc dans le genre :
Le R=301 pour la redirection sur le client avec un code 301, le L pour ne pas continuer le traitement du .htaccess, et le QSA pour conserver la même query string.
Ca doit faire un truc dans le genre :
- Code: Tout sélectionner
RewriteRule /cgi-bin/1/(.*)$ /cgi-bin/$1 [R=301,L,QSA]
Le R=301 pour la redirection sur le client avec un code 301, le L pour ne pas continuer le traitement du .htaccess, et le QSA pour conserver la même query string.
- Ethancarter
- WRInaute discret

- Messages: 77
- Inscription: 25 Jan 2004
C'est gentil mais ça ne marche pas !
La ligne est totalement ignorée par le serveur ! (alors que les autres rewriterule fonctionnent bien).
Peut-être une protection pour éviter qu'un CGI qui ne devait pas être exécuté ne le soit pas ?
Tout ce que j'ai réussi à faire, c'est :
J'avais bien essayé :
J'ai essayé en ajoutant [QSA] mais ça ne donnait rien (erreur 500)
Merci
La ligne est totalement ignorée par le serveur ! (alors que les autres rewriterule fonctionnent bien).
Peut-être une protection pour éviter qu'un CGI qui ne devait pas être exécuté ne le soit pas ?
Tout ce que j'ai réussi à faire, c'est :
- Code: Tout sélectionner
RedirectMatch 301 ^/cgi-bin/1/(.*) http://www.tro-online.com/
J'avais bien essayé :
- Code: Tout sélectionner
RedirectMatch 301 ^/cgi-bin/1/(.*) http://www.tro-online.com/cgi-bin/$1
J'ai essayé en ajoutant [QSA] mais ça ne donnait rien (erreur 500)
Merci
Dernière édition par Ethancarter le Mar Mai 25, 2004 23:29, édité 1 fois.
- Ethancarter
- WRInaute discret

- Messages: 77
- Inscription: 25 Jan 2004
J'ai essayé aussi :
mais le query string n'est pas pris en compte non plus !
- Code: Tout sélectionner
RedirectMatch ^/cgi-bin/1/(.*) http://www.tro-online.com/test/$1 [QSA]
mais le query string n'est pas pris en compte non plus !
- Ethancarter
- WRInaute discret

- Messages: 77
- Inscription: 25 Jan 2004
non, c'est pareil : le query string n'est pas pris en compte !
cgi-bin/1/index.cgi?machin redirige sur :
cgi-bin/index.cgi (sans le ? et ce qui suit)..
Une idée ?
cgi-bin/1/index.cgi?machin redirige sur :
cgi-bin/index.cgi (sans le ? et ce qui suit)..
Une idée ?
11 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Tester la validité d'un lien
Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité



