Jesper -> du kunne bruge mit eksempel, men hvor du både bruger Id og titel. Mit eksempel kræver bare at titlen er korrekt. På udvikleren kan du så vidt jeg ved, bare ændre titlen til noget random og alligevel virker den. I mit eksempel kræver den at titlen er korrekt.
Eksempelvis kan du opbygge det således:
domæne.dk/artikler/245/titlen-skal-vaere-rigtig/Det er ret simpelt. Du opbygger bare tabellen sådan at du har et "alias", som bare er titlen på artiklen hvor mellemrum, æøå osv. er lavet om.
- // Opretter artiklens "alias"
- $title = 'Titlen skal være rigtig';
-
- $from = array('"', "'", " ", "æ", "Æ", "ø", "Ø", "å", "Å");
- $to = array("", "", "-", "ae", "Ae", "oe", "Oe", "aa", "Aa");
- $alias = strtolower(str_replace($from, $to, $title)); // Resultat: titlen-skal-vaere-rigtig
Så kan du tjekke efter både Id og Alias.
- SELECT * FROM `artikler` WHERE `id` = 245 AND `alias` = 'titlen-skal-vaere-rigtig'
Og hvis artiklen ikke eksisterer, så sender du naturligvis bare brugeren til en fejlside. Mere besværligt burde det ikke være. Og din RewriteRule skal bare se nogenlunde således ud:
RewriteRule ^artikler/([0-9]+)/([a-z]+)/ $ artikler.php?id=$1&alias=$2 [L]
Nu har jeg ikke testet noget af koden. Og overstående RewriteRule skal naturligvis lige laves om, så den passer til dit site.
Indlæg senest redigeret d. 04.12.2012 13:03 af Bruger #16025