Probleme url rewriting : Parametre get ?

WRInaute accro
Bonjour
Réponse : Oui c'est possible:

Code:
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
 
WRInaute discret
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 ?
 
WRInaute accro
webmasterlamogere a dit:
c'est plutôt :
Code:
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 dit:
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
 
WRInaute discret
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.
 
WRInaute accro
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:
$url_attendue="/final-fantasy-7,histoire.html";

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

Code:
if ($_SERVER['REQUEST_URI'] != $url_attendue)
  {
    header("Status: 301 Moved Permanently", false, 301);
    header("Location: http://www.ffocean.com".$url_attendue);
    exit;
}
 
WRInaute discret
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 ?
 
Discussions similaires
Haut