Redirection pour un site en dotclear!

WRInaute occasionnel
J'aimerais faire une redirection 301 dans htaccess
en gros j'aimerais rediriger
http://www.md.net/?category1/page1 en http://www.md.net/category1/page1
http://www.md.net/?category1/page2 en http://www.md.net/category1/page2
http://www.md.net/?category2/page1 en http://www.md.net/category2/page1
http://www.md.net/?category2/page2 en http://www.md.net/category2/page2
ect..
En gros je suis en query_string avec ? que j'aimerais remplacer par /
le site est fait sous dotclear .Je ne veux pas utiliser path_info car mon hébergeur ne le permet pas
j'ai essayé comme ca mais ca marche pas

Code: Tout sélectionner
RewriteEngine On
RewriteCond %{QUERY_STRING} ^([A-Z][a-zA-Z0-9-]+)$
RewriteRule ^$ ?%1 [L]


Si vous avez une idée de code de htaccess.Ca va vraiment m'aider .
merci
 
WRInaute passionné
essaye
Code:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^([A-Z][a-zA-Z0-9-]+)$
RewriteRule ^$ /%1 [L,R=301]
 
WRInaute occasionnel
WRInaute passionné
il manque un "?"
Code:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^([A-Z][a-zA-Z0-9-]+)$
RewriteRule ^$ /%1? [L,R=301]
 
WRInaute occasionnel
forty a dit:
il manque un "?"
Code:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^([A-Z][a-zA-Z0-9-]+)$
RewriteRule ^$ /%1? [L,R=301]
ca a l'air bon au niveau lien
http://www.combat.infosplus.net/Video-krav
mais toujours meme erreur
Code:
Not Found
The requested URL /Video-krav was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
 
WRInaute passionné
je croyais que tu ne voulais que la redirection et que les urls était en place. Ajoute une réécriture :
Code:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^([A-Z][a-zA-Z0-9-]+)$
RewriteRule ^$ /%1? [L,R=301]
RewriteRule ^([A-Z][a-zA-Z0-9-]+)$ /?$1&stop [L]
 
WRInaute occasionnel
forty a dit:
je croyais que tu ne voulais que la redirection et que les urls était en place. Ajoute une réécriture :
Code:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^([A-Z][a-zA-Z0-9-]+)$
RewriteRule ^$ /%1? [L,R=301]
RewriteRule ^([A-Z][a-zA-Z0-9-]+)$ /?$1&stop [L]
super .presque bon .merci infiniment .
il m'anque un détail.
ca marche pour
http://www.md.net/?category2 en http://www.md.net/category2
ca marche pas pour
http://www.md.net/?category2/page2 en http://www.md.net/category2/page2
j'ai toujours
http://www.md.net/?category2/page2
au lieu de
http://www.md.net/category2/page2
et c'est rassure j'ai plus de message d'erreur
 
WRInaute passionné
il faut ajouter le / dans les caractères autorisés :
Code:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^([A-Z][a-zA-Z0-9/-]+)$
RewriteRule ^$ /%1? [L,R=301]
RewriteRule ^([A-Z][a-zA-Z0-9/-]+)$ /?$1&stop [L]
 
WRInaute occasionnel
forty a dit:
il faut ajouter le / dans les caractères autorisés :
Code:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^([A-Z][a-zA-Z0-9/-]+)$
RewriteRule ^$ /%1? [L,R=301]
RewriteRule ^([A-Z][a-zA-Z0-9/-]+)$ /?$1&stop [L]
Merci infiniment ca marche .Je suis un peu nul en rewriting ,Pour ma culture perso
j'ai pas compris c'est quoi la variable %1 par rapport à &1
"?" est avant category normallement .Donc ? devrait être mis avant %1 c'est à dire ?%1 .pourquoi c'est le contraire
c'est quoi cette variable &stop. c'est la première fois que je vois çà.

j'ai oublié que le site a aussi une gallerie de photo avec ce genre de lien
http://www.combat.infosplus.net/?gallery/beaute-sensualite/asiat-beaut ... -sensuelle
http://www.combat.infosplus.net/?gallery/beaute-sensualite/asiat-beaut ... /2#gallery
http://www.combat.infosplus.net/?gallery/beaute-sensualite/asiat-beaut ... 1e#gallery
j'aimerais que
http://www.combat.infosplus.net/?gallery/beaute-sensualite/asiat-beaut ... -sensuelle
devient http://www.combat.infosplus.net/gallery/beaute-sensualite/asiat-beaute-sensuelle
faire disparaitre ?
merci d'avance .en tout cas suis épatant par ta prestation
 
WRInaute passionné
%1 ... %9 sont les rétro-références correspondant à des motifs entre parenthèses d'une RewriteCond
$1 .... $9 sont les rétro-références correspondant à des motifs entre parenthèses d'une RewriteRule
Le ? avec /%1? permet de supprimer les paramètres de l'url d'origine (sinon ils sont automatiquement ajoutés)
le parmaètre stop permet d'éviter que la redirection ne se fasse quand il y a déjà eu une réécriture (la redirection ne se fait pas car le caractère & n'est pas autorisé). Sinon la réécriture et la redirection génère une boucle infinie.
Si tu veux prendre des urls qui ne commencent pas par une majuscule il faut remplacer ([A-Z][a-zA-Z0-9/-]+) par ([a-zA-Z0-9/-]+)
Code:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^([a-zA-Z0-9/-]+)$
RewriteRule ^$ /%1? [L,R=301]
RewriteRule ^([a-zA-Z0-9/-]+)$ /?$1&stop [L]
ou alors tu ajoutes une règle pour un paramètre commençant par gallery/ :
Code:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(gallery/[a-zA-Z0-9/-]+)$
RewriteRule ^$ /%1? [L,R=301]
RewriteRule ^(gallery/[a-zA-Z0-9/-]+)$ /?$1&stop [L]
 
WRInaute occasionnel
Ca marche .Merci .
J'ai fait comme ca ca marche aussi

Code:
    RewriteEngine On
    RewriteCond %{QUERY_STRING} ^([a-zA-Z0-9/-]+)$
    RewriteRule ^(.*)$ /%1? [L,R=301]
    RewriteRule ^([a-zA-Z0-9/-]+)$ /?$1&stop [L]
j'aimerais savoir si c'est juste ?
RewriteRule ^(.*)$ /%1? [L,R=301] => pointe ?category vers /category ou category vers /category
RewriteRule ^([a-zA-Z0-9/-]+)$ /?$1&stop [L] ===> pointe category vers /?category
merci pour ton aide
 
WRInaute occasionnel
forty a dit:
pas de problème comme ça
désolé de te déranger forty .mais mes questions sont en bas :
Code:
RewriteRule ^(.*)$ /%1? [L,R=301] =====>ca veut dire ?====> pointe ?category vers /category ou category vers /category
RewriteRule ^([a-zA-Z0-9/-]+)$ /?$1&stop [L] =====>ca veut dire? ===> pointe category vers /?category
est ce que mes explications sont justes ou je suis complètement à coté
merci encore pour ton aide
 
WRInaute passionné
avec ce que tu as indiqué, toutes les url contenant les paramètres ?category sont redirigées vers /category.
ca ne pose pas de problème.
 
Discussions similaires
Haut