Aller au contenu

rediriger des URL


Sujets conseillés

Bonjour et bonnes fêtes à tous !

Je cherche à rediriger mes URL

Je suis chez OVH (90plan).

Je souhaite passer de Dotclear à Wordpress.

J'aimerai reediriger toutes les URL http://www.technobuzz.fr/index.php?...

vers

http://www.technobuzz.fr/v2/...

J'ai globalement un souci avec le ?

Si vous avez une idée pour que je termine bine l'année :-)

Merci !

Lien vers le commentaire
Partager sur d’autres sites

J'ai testé ceci sur le .htaccess mais je ne parviens pas à garder les anciennes URL.

Tous les liens redirigent vers l'accueil http://www.technobuzz.fr/v2/

Options +FollowSymLinks
#
<IfModule mod_rewrite.c>
#
RewriteEngine On
#
RewriteBase /v2/
#
RewriteCond %{REQUEST_FILENAME} !-f
#
RewriteCond %{REQUEST_FILENAME} !-d
#
RewriteRule . /v2 [L]
#
</IfModule>
RewriteRule ^index.php?[/]([0-9]+)[/]([0-9]+)[/]([0-9]+)[/][0-9]+-(.+)$ [url="http://www.technobuzz.fr/v2/$1/$2/$3/$4"]http://www.technobuzz.fr/v2/$1/$2/$3/$4[/url] [R=301,L]

Modifié par Patrick
Merci d'utiliser la balise [code] pour insérer du code !
Lien vers le commentaire
Partager sur d’autres sites

J'y suis presque.

L'année démarre pas trop mal...

Au fait, bonne année à tous !

Voici le code que j'ai mis dans mon .htaccess à la racine du www :

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{HTTP_HOST} !^www.technobuzz.fr/index.php?$ [NC]
RewriteRule ^ http://www.technobuzz.fr/v2/ [R=301]

Je galère encore avec le "?" que je ne parviens pas à enlever des URL.

Exemples d'URL :

ancien => http://www.technobuzz.fr/index.php?tag/archos

nouvelle => http://www.technobuzz.fr/v2/?tag/archos

cible => http://www.technobuzz.fr/v2/tag/archos/

Un p'tit coup de pouce, please...

Lien vers le commentaire
Partager sur d’autres sites

Essaye de mettre un antislash devant ton point d'interrogation; le point d'interrogation est un caractère spécial, qui spécifie que le caractère précédent est facultatif. En l'état, ta règle redirigera également http://www.technobuzz.fr/index.ph?tag/archos vers la nouvelle.

Lien vers le commentaire
Partager sur d’autres sites

Merci captain_torche mais ça ne change rien.

Le \ n'est pas interprété non plus.

Il y a peut-être une piste pour transformer les URL en type path info avant le rediriger afin de virer le "?".

J'ai testé ce code sans succès :

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule .* - [L]
RewriteRule ^.*$ %{QUERY_STRING}
RewriteCond %{HTTP_HOST} !^www.technobuzz.fr/index.php?$ [NC]
RewriteRule ^ http://www.technobuzz.fr/v2/ [R=301]

Lien vers le commentaire
Partager sur d’autres sites

Trouvé !

Mais il me reste 2 problèmes à régler.

Les URL des catégories où je dois ajouter "/category/" dans l'URL et l'URL de la racine sans index.php (http://www.technobuzz.fr)

Voici le .htaccess :

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule .* - [L]


RewriteCond %{QUERY_STRING} [a-zA-Z0-9-]+/[a-zA-Z0-9-]+/[a-zA-Z0-9-]+/[a-zA-Z0-9-]+-.+
RewriteRule ^index\.php$ http://www.technobuzz.fr/v2/%{QUERY_STRING}/? [R=301,L]
RewriteRule ^([a-zA-Z0-9-]+)[/]([a-zA-Z0-9-]+)[/]([a-zA-Z0-9-]+)[/][a-zA-Z0-9-]+-(.+)$ http://www.technobuzz.fr/v2/$1/$2/$3/$4? [R=301,L]

RewriteCond %{QUERY_STRING} [0-9-]+/[0-9-]+-.+
RewriteRule ^index\.php$ http://www.technobuzz.fr/v2/%{QUERY_STRING}/? [R=301,L]
RewriteRule ^([0-9-]+)[/][0-9-]+-(.+)$ http://www.technobuzz.fr/v2/$1/$2? [R=301,L]

RewriteRule ^index\.php?(.*)$ http://www.technobuzz.fr/v2/%{QUERY_STRING}/? [R=301,L]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Lien vers le commentaire
Partager sur d’autres sites

En fait, la seule ligne suivante est suffisante :

RewriteRule ^index\.php?(.*)$ http://www.technobuzz.fr/v2/%{QUERY_STRING}/? [R=301,L]

soit le code total suivant :

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule .* - [L]

RewriteRule ^index\.php?(.*)$ http://www.technobuzz.fr/v2/%{QUERY_STRING}/? [R=301,L]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...