Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/03/2011, 23h30   #1
Membre du Club
 
Inscription : août 2007
Messages : 169
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 169
Points : 50
Points : 50
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 :
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 .
van-bom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 10h28   #2
Nouveau Membre du Club
 
Inscription : novembre 2008
Messages : 75
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 75
Points : 32
Points : 32
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 :
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
gescolino est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 15/03/2011, 19h18   #3
Membre du Club
 
Inscription : août 2007
Messages : 169
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 169
Points : 50
Points : 50
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 :
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
van-bom est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 17/03/2011, 11h36   #4
Nouveau Membre du Club
 
Inscription : novembre 2008
Messages : 75
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 75
Points : 32
Points : 32
Il me semble que ta dernière règle n'est jamais atteinte.

Essais déjà avec ceci:

Code :
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).
gescolino est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 17/03/2011, 13h28   #5
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 280
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 280
Points : 8 568
Points : 8 568
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 ^.*$
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2011, 13h30   #6
Nouveau Membre du Club
 
Inscription : novembre 2008
Messages : 75
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 75
Points : 32
Points : 32
Merci Mac pour ces infos sur le .htaccess!
gescolino est déconnecté   Envoyer un message privé Réponse avec citation 01
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h12.


 
 
 
 
Partenaires

Hébergement Web