URL Rewriting ne marche pas si il y a un ? dans l'URL

Nouveau WRInaute
Bonjour,

Je loue un serveur dédié Kimsufi chez OVH.
J'ai un annuaire à l'URL suivante : http://annuaire-autisme.en-quete-de-declics.fr

J'aimerai faire une migration sur son propre nom de domaine : http://annuaire-autisme.fr

Pour cela j'ai décidé d'utiliser l'URL Rewriting.
J'ai donc créé un fichier .htaccess que je place à la racine du sous-domaine http://annuaire-autisme.en-quete-de-declics.fr.

Dedans, j'écris uniquement :
Redirect permanent / http://annuaire-autisme.fr

Cela redirige la première page, mais pas les autres.
J'ai donc décidé d"ajouter la ligne suivante :
Redirect permanent /index.php?autisme=ajouter-site http://annuaire-autisme.fr/index.php\?autisme=ajouter-site

Et là...
Patatras :oops:

Ça marche pas !
Et je ne comprends pas pourquoi :cry:

C'est pour ça que je viens vers vous :D

Note : j'ai désactivé : http://annuaire-autisme.fr pour éviter le duplicate content.

En vous remerciant par avance pour votre aide,
Bien cordialement,
Une personne autiste.
 
Nouveau WRInaute
Bonjour,

Sur le site : http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
J'ai trouvé :
Code:
# For sites running on a port other than 80
RewriteCond %{HTTP_HOST}   !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^/(.*)         http://www.example.com:%{SERVER_PORT}/$1 [L,R]

# And for a site running on port 80
RewriteCond %{HTTP_HOST}   !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://www.example.com/$1 [L,R]

Je l'ai adapté à mon site.
Dans le fichier htaccess, j'ai mis uniquement :
Code:
# For sites running on a port other than 80
RewriteCond %{HTTP_HOST}   !^www\.annuaire-autisme\.fr [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^/(.*)         http://annuaire-autisme.fr:%{SERVER_PORT}/$1 [L,R]

# And for a site running on port 80
RewriteCond %{HTTP_HOST}   !^www\.annuaire-autisme\.fr [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://annuaire-autisme.fr/$1 [L,R]

J'obtiens une "Internal Server Error".

Je l'ai donc réadapté :
Code:
# For sites running on a port other than 80
RewriteCond %{HTTP_HOST}   !^www\.annuaire-autisme.en-quete-de-declics\.fr [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^/(.*)         http://annuaire-autisme.fr:%{SERVER_PORT}/$1 [L,R]

# And for a site running on port 80
RewriteCond %{HTTP_HOST}   !^www\.annuaire-autisme.en-quete-de-declics\.fr [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://annuaire-autisme.fr/$1 [L,R]

J'obtiens une "Internal Server Error".

Je suis perdu :oops:

Bien cordialement,
Une personne autiste.
 
WRInaute occasionnel
ton serveur ecoute sur le port 80 je suppose

donc cet cette partie de code qui doit fonctionner

Code:
# And for a site running on port 80
RewriteCond %{HTTP_HOST}   !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://www.example.com/$1 [L,R]
 
Nouveau WRInaute
Bonjour,

Merci pour votre aide :D
Mais "Internal Server Error".

Je reviens sur l'exemple précédent :

Redirect permanent / http://annuaire-autisme.fr
qui marche et :
Redirect permanent /index.php?autisme=ajouter-site http://annuaire-autisme.fr/index.php\?autisme=ajouter-site
qui ne marche pas...

Pour le coup, je n'arrive pas à comprendre :oops:

Bien cordialement,
Une personne autiste.
 
WRInaute occasionnel
si tu essaies ça

Code:
RewriteEngine on 
RewriteRule .*  http://annuaire-autisme.fr/$1 [R=301,QSA,L]
 
Nouveau WRInaute
Bonjour,

Merci pour votre aide.

Malheureusement...
Code:
RewriteEngine on 
RewriteRule .*  http://annuaire-autisme.fr/$1 [R=301,QSA,L]
Donne "Internal Server Error".

Et :
Code:
RewriteRule .*  http://annuaire-autisme.fr/$1 [R=301,QSA,L]
Donne "Internal Server Error".

Bien cordialement,
Une personne autiste.
 
WRInaute occasionnel
tu as accès au serveur via putty?

si oui, as tu le module de réécriture activé?

tape dans putty

Code:
a2enmod rewrite
 
WRInaute occasionnel
Code:
RewriteEngine on 
RewriteRule ^(.*)  http://annuaire-autisme.fr/$1 [R=301,QSA,L]

Essaie comme ça peut être?
 
Nouveau WRInaute
Yeeeeeeeeeeeeeaaaaaaaaaaaaaaaaaaaa :)

Merci :)

Ce soir, c'est migration :)

Pour mémoire, la solution est la suivante :

=> Dans putty :
Code:
a2enmod rewrite

=> Dans le htaccess :
Code:
RewriteEngine on 
RewriteRule ^(.*)  http://annuaire-autisme.fr/$1 [R=301,QSA,L]

En vous remerciant pour votre aide,
Bien cordialement,
Une personne autiste.
 
Nouveau WRInaute
Bonjour,

Il me reste un dernier problème :oops:

Lorsque je redirige la page :
http://annuaire-autisme.en-quete-de-declics.fr/index.php?autisme=ajouter-site

Vers la page :
http://annuaire-autisme.en-quete-de-declics.fr/index.php?categorie=Blog d'une association

J'obtiens dans la barre d'URL :
http://annuaire-autisme.fr/index.php?categorie=Blog%2520d'une%2520association

Mon problème est le %2520 qui apparaît dans l'URL.

Existerait'il, un moyen de rediriger en conservant les espaces.

En vous remerciant par avance,
Bien cordialement,
EQDD
 
Nouveau WRInaute
Bonjour,

Je sais.

Malheureusement ma contrainte est justement de transmettre les espaces :?

En vous remerciant pour votre aide.
Bien cordialement,
Une personne autiste.
 
Nouveau WRInaute
Bonjour,

Je me rends compte que ma solution ne peut que être temporaire...

Il va me falloir utiliser le mode rewrite sur Annuaire.

J'ai dé visiteurs qui vont arriver à l'aide des urls suivantes :
http://annuaire-autisme.en-quete-de-declics.fr/index.php?categorie=Blog d'une association
http://annuaire-autisme.fr/index.php?categorie=Blog%2520d'une%2520association

Ces urls existent déjà donc je ne peux agir dessus :evil:

Par contre, je peux les rediriger vers :
http://annuaire-autisme.fr/categorie/Blog-d-une-association

Connaîtriez-vous un tutoriel simple qui apporte un tour d'horizon ?

En vous remerciant par avance,
Bien cordialement,
Une personne autiste.
 
Discussions similaires
Haut