redirection htaccess vers un nouveau site

Mammouth du PHP | 643 Messages

29 mars 2017, 17:19

Salut tout le monde,
Voilà j'ai refait mon site mais avec un nouveau domaine et des urls modifié... ( histoire de simplifié les choses :p )
Bref ...
J'ai donc décidé de commencé avec des redirections temporaire afin de testé la validité des choses.

J'ai donc des urls avec de l'url_rewrite de mon ancien site:
# -- sortie + région + loisir -------------------
RewriteRule ^sortie/region-([A-Za-z0-9_-]+)/activite-([A-Za-z0-9_-]+).html$ sortie.php?region=$1&loisir=$2
Et en gros la page équivalent du nouveau site:
http://nouveau-domaine.fr/sortie/region ... ncert.html

J'aimerais savoir la marche à suivre pour redirigé l'ancienne version vers la nouvelle par exemple svp.
Merci à vous.

Avec en + des redirections il y a l'url rewrite qui vient se mélanger à tout ça, voilà voilà quoi.
Merci encore

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

29 mars 2017, 17:23

Hello,

Est-ce que tes anciennes url ont les mêmes paramètres que tes nouvelles ?

Si oui, alors ne t'occupe pas de l'url rewriting vers le fichier PHP mais uniquement des urls publiques anciennes pour remettre le bon domaine et les bons paramètres pour former tes nouvelles urls publiques.

http://www.ancien-domaine.com/sortie/param1/param2.html
----->
http://www.nouvo-domaine.com/sortie/param1-param2.html
(bien sûr à adapter à tes formats d'urls)
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 643 Messages

29 mars 2017, 17:30

Les parametres sont les mêmes mais l'ordre peut différé par rapport à l'ancienne version

Quelque chose comme ?
# Activation du module de réécriture d'URL 
#RewriteBase /
Options +FollowSymLinks
Options -MultiViews
RewriteEngine On

# -- Redirection 302
Redirect http://lasortie.fr/sortie/region-([A-Za-z0-9_-]+).html http://www.nouveau-domaine.fr/sortie/region-([A-Za-z0-9_-]+).html
Dans ma redirection là, comment placeer le parametre 'region' par exemple

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

29 mars 2017, 18:05

Pour une redirection avec une regex, il faut utiliser RedirectMatch et pas juste Redirect :

Code : Tout sélectionner

RedirectMatch ^sortie/region-([A-Za-z0-9_-]+).html$ http://www.nouveau-domaine.fr/sortie/region-$1.html [R=301,L]
Tu peux tester tes redirections ici :
http://htaccess.mwl.be/
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 643 Messages

29 mars 2017, 18:09

Merci pour le coup de main.
Par contre comment est ce pris en compte par les moteurs de recherche considére t'il cela comme une redirection 301 ou 302 ou autre .... ?

En ajoutant la fameuse redirectMatch j'obtiens une belle erreur 500...
The server encountered an internal error or misconfiguration and was unable to complete your request.

De quoi cela peut il venir ?
dsl pour le dérangement :wink:

Mammouth du PHP | 643 Messages

31 mars 2017, 10:30

Bon Voilà
C'est avec url qui change j'ai en parametre en moins:
Avant j'avais région et ville et maintenant que la ville
Du coup je m'y perd à la fin de la réécriture.
Merci pour le coup de main

Ancienne syntaxe :
sortie/region-rhone-alpes/ville-de-lyon.html

Nouvelle syntaxe
www.nouveau-domaine.fr/sortie/sortir-lyon.html
RedirectMatch ^sortie/region-([A-Za-z0-9_-]+)/ville-de-([A-Za-z0-9_-]+).html$ http://www.nouveau-domaine.fr/sortie/sortir-$2 region-$1&2.html [R=301,L]

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

31 mars 2017, 15:44

salut,

t'es pas logique dans ce que tu fais. essai de voir ce que peux donner ton motif de sortie avec lyon ?
http://www.nouveau-domaine.fr/sortie/sortir-lyon region-rhone-alpes&2.html
cette url ne correspond pas a ce que tu attends pire elle est incomplète (a cause de l'espace non permis a cet endoit).

ça devrait ressembler à cela.
RedirectMatch ^sortie/region-([A-Za-z0-9_-]+)/ville-de-([A-Za-z0-9_-]+).html$ http://www.nouveau-domaine.fr/sortie/sortir-$2.html [R=301,L]


@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 643 Messages

03 avr. 2017, 18:43

Salut j'ai testé donc ta méthode avec une url normalement plus simple.
Mais aucune redirection ne se fait ...
# Activation du module de réécriture d'URL 
#RewriteBase /
Options +FollowSymLinks
Options -MultiViews
RewriteEngine On


RedirectMatch ^sortie/region-([A-Za-z0-9_-]+).html$ http://www.tripday.fr/sortie/region-$1.html

# -- sortie + région -------------------
RewriteRule ^sortie/region-([A-Za-z0-9_-]+).html$ sortie.php?region=$1

Quel est le problème svp ?