Probleme url rewriting : Parametre get ?

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

ffocean
WRInaute discret
WRInaute discret
 
Messages: 50
Inscription: Lun Fév 27, 2006 20:47

Probleme url rewriting : Parametre get ?

Message le Mer Fév 13, 2008 17:29

Bonjour,

J'ai un probleme avec mes news pour les passer en url rewriting.

Je voudrais par exemple qu'au lieu de :

http://www.ffocean.com/news/news.php?id=346

J'ai : http://www.ffocean.com/news-Deux-videos ... C,346.html

Deux vidéos pour FFVII CC étant le titre de la news.

Est ce possible ?

Merci


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5333
Inscription: Lun Juin 13, 2005 14:13

Message le Mer Fév 13, 2008 17:51

Bonjour
Réponse : Oui c'est possible:

Code: Tout sélectionner
RewriteRule ^(.*),(.*)\.html$ /news.php?id=$2 [L]


Après, ce que tu veux mettre dans la première partie de la règle, on s'en moque, ce ne sera pas interprété par cette règle. Ce ne sera en tout cas pas le .htaccess qui ira chercher tout seul le titre de ta news, ça c'est ton PHP qui créera le lien tout seul comme un grand.

Si tes news sont déjà indexées, faudra pas oublier de les rediriger vers les nouvelles URL réécrites

ffocean
WRInaute discret
WRInaute discret
 
Messages: 50
Inscription: Lun Fév 27, 2006 20:47

Message le Mer Fév 13, 2008 17:57

Si tes news sont déjà indexées, faudra pas oublier de les rediriger vers les nouvelles URL réécrites


C'est a dire ? comment faire ?

Et si mon titre possede des accents, il faut que je gere le fait qu'il les remplace je suppose avec des str_replace ?
Dernière édition par ffocean le Mer Fév 13, 2008 18:01, édité 1 fois.


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Mer Fév 13, 2008 17:58

c'est plutôt :
Code: Tout sélectionner
RewriteRule ^news-(.*),(.*)\.html$ /news/news.php?id=$2 [L]


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5333
Inscription: Lun Juin 13, 2005 14:13

Message le Mer Fév 13, 2008 18:15

webmasterlamogere a écrit:c'est plutôt :
Code: Tout sélectionner
RewriteRule ^news-(.*),(.*)\.html$ /news/news.php?id=$2 [L]


En effet, c'est plus sûr, la règle ne traitera que les URL commençant par news et ayant une virgule.

ffocean a écrit:
Si tes news sont déjà indexées, faudra pas oublier de les rediriger vers les nouvelles URL réécrites


C'est a dire ? comment faire ?

Ben en PHP dans la page, tu identifies si l'URL demandée est la bonne (celle réécrite). Si oui tu fais rien, si non tu fais une redirection 301 avec la fonction php header() vers l'URL réécrite.
Et si mon titre possede des accents, il faut que je gere le fait qu'il les remplace je suppose avec des str_replace ?

Oui

ffocean
WRInaute discret
WRInaute discret
 
Messages: 50
Inscription: Lun Fév 27, 2006 20:47

Message le Mer Fév 13, 2008 18:19

Un des moyens pour le savoir serait de verifier si l'extension de la page est en html ?
Vu qu'avant j'avais mes pages en php.

Si oui, comment detecter l'extension à l'aide de php ?

Ou avez vous d'autres méthodes ?

Merci.

clems942
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 233
Inscription: Sam Oct 13, 2007 17:12

Message le Mer Fév 13, 2008 18:22


ffocean
WRInaute discret
WRInaute discret
 
Messages: 50
Inscription: Lun Fév 27, 2006 20:47

Message le Mer Fév 13, 2008 18:34

Oui mais je vois pas trop comment faire.

Le meilleur moyen serait de connaitre l'extension de ma page dans l'url. Une fonction existe ?

Etant donné que si la personne se connecte avec cette adresse :

http://www.ffocean.com/ffocean7/histoire.php

Je dois la rediriger vers cette adresse :

http://www.ffocean.com/final-fantasy-7,histoire.html


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5333
Inscription: Lun Juin 13, 2005 14:13

Message le Mer Fév 13, 2008 18:55

Le meilleur moyen serait , dans chaque page, de reconstituer le nom réécrit qu'elle doit avoir et de la stocker dans une variable $url_attendue.
Exemple pour ta page /final-fantasy-7,histoire.html:

Code: Tout sélectionner
$url_attendue="/final-fantasy-7,histoire.html";


Ensuite, en début de chaque page, tu colles :

Code: Tout sélectionner
if ($_SERVER['REQUEST_URI'] != $url_attendue)
  {
    header("Status: 301 Moved Permanently", false, 301);
    header("Location: http://www.ffocean.com".$url_attendue);
    exit;
}

ffocean
WRInaute discret
WRInaute discret
 
Messages: 50
Inscription: Lun Fév 27, 2006 20:47

Message le Mer Fév 13, 2008 19:48

Oui je veux bien, mais comment reconstituer le nom ecrit ?

D'apres ce que j'ai lu sur l'autre page, il faut le mettre en debut de page.

Et mes pages ne contiennent que le contenu des pages, et pour l'entete et le pied de page je fais appel à une autre page.

C'est pour cela, qu'il faudrait que j'essaye de recuperer l'adresse avec une fonction php, nan ?


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5333
Inscription: Lun Juin 13, 2005 14:13

Message le Mer Fév 13, 2008 20:00

L'adresse de la page en cours est récupérable en PHP par la variable superglobale $_SERVER['REQUEST_URI'].

ffocean
WRInaute discret
WRInaute discret
 
Messages: 50
Inscription: Lun Fév 27, 2006 20:47

Message le Mer Fév 13, 2008 20:32

Merci, je vais devoir faire rubrique par rubrique.
J'ai commencé, ca fonctionne ;) Merci.


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5333
Inscription: Lun Juin 13, 2005 14:13

Message le Mer Fév 13, 2008 20:40

de rien :)


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités