IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Redirection des anciens URls


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Par défaut Redirection des anciens URls
    bonjour ,

    je possède un site que je l'avais réalisé en php , maintenant j'ai migrer ce site vers Zend Framework .

    mon soucis est que les moteurs de recherche contiennent toujours des anciens url . donc je voudrais savoir comment rediriger ces anciens url .
    voici un exemple des Urls :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //Ancien :
    actualites.php?id=75
    // doit désormais pointer vers 
    /index/actualite/id/75
    j'ai essayé avec les RewriteRule mais j'ai pas réussie .

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 83
    Par défaut
    Bonjour,

    Pourrais-tu nous donner plus d'informations?

    Le fichier actualites.php se trouve directement après l'adresse de ton site www.monsite.com/actualites.php ?

    Si tel est le cas tu peux utiliser cette regle de réécriture:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^/actualites.php?id=([0-9]+) /index/actualite/id/$1

    PS: La condition [0-9]+ ne récupère que des chiffres compris entre 0 et 9

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Par défaut
    Bonjour , et merci pour ta réponse.

    oui, toute les pages que je veux les rediriger se trouvent dans le répertoire racine.
    ta solution n'a pas fonctionner .

    voici le fichier htaccess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    RewriteEngine On
    RewriteBase /
     
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
     
    RewriteRule ^.*$ index.php [NC,L]
     
    RewriteRule ^/actualites.php?id=([0-9]+) /index/actualite/id/$1

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 83
    Par défaut
    Il me semble que ta dernière règle n'est jamais atteinte.

    Essais déjà avec ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine On
    RewriteRule ^/actualites.php?id=([0-9]+) /index/actualite/id/$1
    Je ne sais pas si le RewriteBase / est nécessaire (test avec et sans).

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    La dernière règle n'est jamais "atteinte" pour trois raisons :
    1. Le premier paramètre de RewriteRule commence par ^/ ce qui n'est jamais possible dans un .htaccess (le premier / est toujours retiré dans les .htaccess).
    2. Le premier membre d'un RewriteRule ne peut pas contenir la query string.
    3. La règle précédente prend le pas sur cette dernière règle car le filtre ^.*$ vaut aussi pour la dernière règle.

    Donc il faut :
    1. Retirer le premier /
    2. Retirer la query string et la remplacer par un RewriteCond
    3. Mettre cette règle avant celle avec ^.*$

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 83
    Par défaut
    Merci Mac pour ces infos sur le .htaccess!

Discussions similaires

  1. [Joomla!] redirection des url en local sous Joomla
    Par SISGI dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 05/03/2012, 14h12
  2. Réponses: 3
    Dernier message: 11/01/2012, 06h49
  3. Redirection des sources en gardant même url
    Par myocean dans le forum Langage
    Réponses: 1
    Dernier message: 09/12/2009, 16h32
  4. Réponses: 2
    Dernier message: 22/08/2008, 17h03
  5. [URL Rewriting] Redirection des posts avec WordpressMu
    Par greglebad dans le forum Apache
    Réponses: 1
    Dernier message: 25/04/2008, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo